Releases: open-telemetry/opentelemetry-java-instrumentation
Version 2.18.1
This is a patch release on the previous 2.18.0 release, fixing the issue(s) below.
🛠️ Bug fixes
- Backport: Shade new
io.opentelemetry.common
package in the bootstrap class loader (#14283)
Version 2.18.0
This release targets the OpenTelemetry SDK 1.52.0.
Note that many artifacts have the -alpha
suffix attached to their version number, reflecting that they are still alpha quality and will continue to have breaking changes. Please see the VERSIONING.md for more details.
🌟 New javaagent instrumentation
- Add initial instrumentation for OpenAI client (#14221)
🌟 New library instrumentation
- Add initial instrumentation for OpenAI client (#14221)
📈 Enhancements
- Implement stable semantic conventions for
code.*
attributes with opt-in support (#13860) - Add span kind configuration support for method instrumentation and declarative tooling (#14014)
- Add support for vendor-specific declarative configuration properties (#14016)
- Add auto-instrumentation support for AWS Secrets Manager SDK v1 (#14027)
- Add
aws.sns.topic.arn
semantic convention support for AWS SNS SDK v1 and v2 (#14035) - Remove
thread.name
attribute from experimental JVM metrics (#14061) - Enhance and align Jetty JMX metrics with OpenTelemetry semantic conventions (#14067)
- Add support for latest spring-cloud-aws versions (#14207)
- Add JDBC parameter capture support for
PreparedStatement.setObject()
method (#14219) - Add
aws.lambda.resource.mapping.id
and experimental Lambda attributes for AWS Lambda SDK (#14229) - Clear context class loader from OpenTelemetry internal threads to prevent leaks (#14241)
🛠️ Bug fixes
- Fix JDBC URL parser StringIndexOutOfBoundsException with malformed connection strings (#14151)
- Fix empty units in JMX state metrics definitions (#14194)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@anuraaga
@atoulme
@breedx-splk
@codefromthecrypt
@garethedwards-tass
@jack-berg
@jadolgl
@jaydeluca
@jhayes2-chwy
@JonasKunz
@laurit
@lukeina2z
@mznet
@PeterF778
@robsunday
@steverao
@stevesea
@SylvainJuge
@trask
@wl2027
@zeitlinger
Version 2.17.1
This is a patch release on the previous 2.17.0 release, fixing the issue(s) below.
- Backport: Fix invalid jmx state metrics empty unit (#14195)
Version 2.17.0
This release targets the OpenTelemetry SDK 1.51.0.
Note that many artifacts have the -alpha
suffix attached to their version number, reflecting that they are still alpha quality and will continue to have breaking changes. Please see the VERSIONING.md for more details.
Migration notes
- Changes have been made to Tomcat metric definitions provided by JMX Metric Insight component
- metric
http.server.tomcat.errorCount
-->tomcat.error.count
- attribute:
name
-->tomcat.request.processor.name
- type: Gauge --> Counter
- attribute:
- metric
http.server.tomcat.requestCount
-->tomcat.request.count
- attribute:
name
-->tomcat.request.processor.name
- type: Gauge --> Counter
- attribute:
- metric
http.server.tomcat.maxTime
-->tomcat.request.duration.max
- attribute:
name
-->tomcat.request.processor.name
- unit:
ms
-->s
- attribute:
- metric
http.server.tomcat.processingTime
-->tomcat.request.duration.sum
- attribute:
name
-->tomcat.request.processor.name
- unit:
ms
-->s
- attribute:
- metric
http.server.tomcat.traffic
-->tomcat.network.io
- attribute:
name
-->tomcat.request.processor.name
,direction
-->network.io.direction
- attribute:
- metric
http.server.tomcat.sessions.activeSessions
-->tomcat.session.active.count
- attribute:
context
-->tomcat.context
- attribute:
- metric
http.server.tomcat.threads
split into two metrics:tomcat.thread.count
andtomcat.thread.busy.count
- attribute:
name
-->tomcat.thread.pool.name
,state
removed
- attribute:
- metric
📈 Enhancements
- JMX metrics: require explicit unit in yaml (#13796)
- Remove deprecated methods from runtime-telemetry (#13885)
- ClickHouse JDBC URL support (#13884)
- Support Vert.x HTTP client version 5.0 (#13903)
- Add metric
jvm.file_descriptor.count
to jvm runtime experimental metrics (#13904) - Add support for Vert.x SQL client version 5.0 (#13914)
- JMX Metric Insights - improved Tomcat metrics alignment to semconv and added new Tomcat metrics
tomcat.session.active.limit
andtomcat.thread.limit
(#13650) - Apply method instrumentation only to methods (#13949)
- Apply external annotation instrumentation only to methods (#13948)
- Log start of spring boot starter (#13882)
- Update the OpenTelemetry SDK version to 1.51.0 (#13992)
- Capture finatra code function name (#13939)
- AWS SDK v2 Secrets Manager auto-instrumentation support (#14001)
- AWS SDK v1 Step Functions auto-instrumentation support (#14003)
- Add auto-instrumentation support for AWS Step Functions SDK v2 (#14028)
- Skip propagating context into mysql jdbc cleanup thread (#14060)
🛠️ Bug fixes
- Fix instrumentation failure when constructor has @WithSpan annotation (#13929)
- Fix structured concurrency support on jdk 25 (#13936)
- Fix Spring boot starter fails to load when an OpenTelemetry Bean is supplied (#13972)
- Fix UCP instrumentation scope name (#14029)
- Preload ThreadLocalRandom to avoid java.lang.ClassCircularityError: java/util/concurrent/ThreadLocalRandom (#14030)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@breedx-splk
@brunobat
@copilot-pull-request-reviewer
@github-advanced-security
@jack-berg
@jackshirazi
@jaydeluca
@jeanbisutti
@john-hyun-eb
@john9x
@JonasKunz
@laurit
@lukeina2z
@PeterF778
@prdoyle
@robsunday
@schmikei
@steverao
@SylvainJuge
@trask
@wl2027
@zeitlinger
Version 2.16.0
This release targets the OpenTelemetry SDK 1.50.0.
Note that many artifacts have the -alpha
suffix attached to their version number, reflecting that they are still alpha quality and will continue to have breaking changes. Please see the VERSIONING.md for more details.
⚠️ ⚠️ Breaking changes ⚠️ ⚠️
- Remove operation name from graphql span name (#13794)
- Remove deprecated property for disabling kafka metrics (#13803)
🌟 New javaagent instrumentation
- Add Avaje Jex Instrumentation (#13733)
📈 Enhancements
- Add Gen AI support for additional models (#13682)
- Add JVM metrics to JMX instrumentation (#13392)
- Add
jvm.file_descriptor.count
metric to JMX instrumentation (#13722) - Optimize lettuce argument splitter regex (#13736)
- Re-enable Agent Detection on z/OS (#13730)
- Add GC cause as an opt-in attribute on jvm GC related metric (#13750)
- Implement stable semconv for db connection pool metrics (#13785)
- Add Cloud foundry resource provider (#13782)
- Add instrumentation for opensearch-rest-3.0 (#13823)
- Run tests with jdk24 and 25-ea (#13824)
- Propagate context into CompletableFuture returned from aws2 async client methods (#13810)
- Added opt-in instrumentation for transaction commit/rollback in jdbc (#13709)
- Added experimental opt-in JDBC
db.query.parameter.<key>
span attributes (#13719) - Add tools support to bedrock InvokeModel instrumentation (#13832)
🛠️ Bug fixes
- Fix instrumentation for ibm https url connection connect (#13728)
- Don't wrap null ResultSet in jdbc library instrumentation (#13758)
- Fix NPE in netty 3.8 instrumentation (#13801)
- Fix ending server span with servlet async request (#13830)
🧰 Tooling
- Allow advice to define custom mappings (#13751)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@123liuziming
@AlixBa
@anuraaga
@benjamin-confino
@breedx-splk
@codefromthecrypt
@ezhang6811
@jack-berg
@jannewulf
@jaydeluca
@jeanbisutti
@JonasKunz
@laurit
@lily-es
@navidcs
@robsunday
@ryanrupp
@schmikei
@SentryMan
@steverao
@stillya
@SylvainJuge
@tinnapat
@trask
@zeitlinger
@zhenlin-pay2
Version 2.15.0
This release targets the OpenTelemetry SDK 1.49.0.
Note that many artifacts have the -alpha
suffix attached to their version number, reflecting that they are still alpha quality and will continue to have breaking changes. Please see the VERSIONING.md for more details.
📈 Enhancements
- Delete deprecated java http client classes (#13527)
- Support latest version of kafka client library (#13544)
- Implement genai events for bedrock (streaming) (#13507)
- JMX metrics support unit conversion (#13448)
- Rename experimental method, use Telemetry instead of Metrics (#13574)
- End metric description with dot (#13559)
- Add initial gen_ai instrumentation of bedrock InvokeModel (#13547)
- Delete deprecated library instrumentation methods (#13575)
- Add experimental http client url.template attribute (#13581)
- Add
error.type
for JDBC underotel.semconv-stability.opt-in
flag (#13331) - Add azure resource provider (#13627)
- Remove
aws.endpoint
attribute from SQS instrumentation (#13620) - Avoid conflicts with user-defined Apache Dubbo filters with default order (#13625)
- Support filtering negative values from JMX metrics (#13589)
- Instrument bedrock InvokeModelWithResponseStream (#13607)
- Use context instead of request attributes for servlet async instrumentation (#13493)
- Improve handling of quoted table names (#13612)
🛠️ Bug fixes
- Fix aws timeseries requests misdetected as dynamodb (#13579)
- Fix pekko route naming (#13491)
- Fix route handling when local root span wasn't created by instrumentation api (#13588)
- The
HostIdResourceProvider
should instantiate anHostIdResource
, not anHostResource
(#13628) - Fix OpenTelemetryPreparedStatement and the returned ResultSet.getStatement() do not match (#13646)
- Fix Spring boot starter dependency resolution failure with Gradle and Java 11 (#13384)
- Fix extremely large DB statements may cause memory leak (#13353)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@123liuziming
@alexgenon
@anuraaga
@breedx-splk
@codefromthecrypt
@crossoverJie
@cyrille-leclerc
@hannahchan
@jack-berg
@jaydeluca
@jeanbisutti
@JonasKunz
@laurit
@MarcusDunn
@masonedmison
@railsharipov
@robsunday
@samwright
@shaokeyibb
@steverao
@SylvainJuge
@trask
@victor-noel-pfx
@zeitlinger
Version 2.14.0
This release targets the OpenTelemetry SDK 1.48.0.
Note that many artifacts have the -alpha
suffix attached to their version number, reflecting that they are still alpha quality and will continue to have breaking changes. Please see the VERSIONING.md for more details.
Migration notes
- The
java.net.http.HttpClient
instrumentation packageio.opentelemetry.instrumentation.httpclient
was deprecated in favor of the new package nameio.opentelemetry.instrumentation.javahttpclient
- The experimental opt-in
jvm.buffer.memory.usage
metric was renamed tojvm.buffer.memory.used
in order to follow general semantic convention naming - The Http
*TelemetryBuilder
generic signatures were simplified (#12858)
🌟 New javaagent instrumentation
- AWS Bedrock instrumentation, following Gen AI semantic conventions (#13355, #13408, #13473, #13410)
- ActiveJ HTTP server (#13335)
- Spring Pulsar (#13320)
🌟 New library instrumentation
- AWS Bedrock instrumentation, following Gen AI semantic conventions (#13355, #13408, #13473, #13410)
📈 Enhancements
- Support virtual threads in Spring Scheduling instrumentation (#13370)
- Redact query string values for http client spans (#13114)
- Support attribute lowercase modifier in JMX metrics yaml definitions (#13385)
- Add tapir path matching within pekko instrumentation (#13386)
- Support latest Axis2 version (#13490)
- Add instrumentation for Lambda Java interface HandleStreamRequest (#13466)
- Remove usage of gRPC internal api (#13510)
- Add options to disable gRPC per-message events (#13443)
- Add @WithSpan option to break from existing context and start a new trace (#13112)
🛠️ Bug fixes
- Fix
NoSuchElementException
thrown by Akka instrumentation (#13360) - Fix Spring Boot Starter MDC instrumentation for Logback not injecting
trace_id
(#13391) - Fix opt-in invoke dynamic instrumentation mechanism in OpenJ9 (#13282)
- Fix spans in Pekko instrumentation on server timeout (#13435)
- Avoid overriding user's
trace_id
in Log4j MDC instrumentation (#13479) - Fix gRPC message ID attribute (#13443)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@123liuziming
@anuraaga
@breedx-splk
@chlos
@Cirilla-zmh
@codefromthecrypt
@CodePrometheus
@Coupon-King
@davisjose19
@ejona86
@grcevski
@jack-berg
@jakobjoachim
@jaydeluca
@jeanbisutti
@jeefy
@jkwatson
@JonasKunz
@kcsurapaneni
@KimDoubleB
@laurit
@luke-sterkowicz
@lukeina2z
@masonedmison
@Matzz
@PeterF778
@robsunday
@salaboy
@samwright
@steverao
@SylvainJuge
@trask
@xiepuhuan
@xrmx
@zeitlinger
Version 2.13.3
This is a patch release on the previous 2.13.2 release, fixing the issue(s) below.
🛠️ Bug fixes
- Backport: Fix failure to start when AWS Resource Provider is enabled (#13420)
Version 2.13.2
This is a patch release on the previous 2.13.1 release, fixing the issue(s) below.
🛠️ Bug fixes
- Backport: Fix Spring boot starter dependency resolution failure with Gradle and Java 11 (#13402)
Version 2.13.1
This is a patch release on the previous 2.13.0 release, fixing the issue(s) below.
🛠️ Bug fixes
- Backport: Fix double instrumentation of Java runtime metrics (#13339)