Releases: open-telemetry/opentelemetry-java-instrumentation
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)
Version 2.13.0
This release targets the OpenTelemetry SDK 1.47.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
io.opentelemetry.instrumentation.api.incubator.semconv.util.SpanNames
has been deprecated, replaced by the stableio.opentelemetry.instrumentation.api.semconv.util.SpanNames
- In preparation for stabilizing HTTP library instrumentation, the classes and methods that were deprecated in the prior two releases have now been removed (#13135, #13150)
- Deprecated Dubbo instrumentation method was removed (#13076)
π New javaagent instrumentation
jdk.httpserver
instrumentation (#13243)
π New library instrumentation
jdk.httpserver
instrumentation (#13243)
π Enhancements
- Add database client metrics to Lettuce instrumentation (#13032)
- Stabilize io.opentelemetry.instrumentation.api.semconv.util.SpanNames (#12487)
- Implement ExtendedTextMapGetter in http server instrumentations (#13053)
- Implement ExtendedTextMapGetter in kafka-clients instrumentation (#13068)
- Scrub system property secrets from process resource attribute values (#13225)
- Add database client metrics to AWS SDK 2.x DynamoDB instrumentation (#13283)
- Add runtime metrics to Spring boot starter (#13173)
π οΈ Bug fixes
- Fix akka shutdown hanging (#13073)
- Fix MalformedInputException on z/OS (#13042)
- Fix scope leak in aws sdk instrumentation (#13129)
- Fix MapConverter does not get initialized when
OTEL_SDK_DISABLED
is set to true (#13224) - Fix logback appender on android (#13234)
- Fix Ktor 3 CallLogging and StatusPages don't have Trace IDs (#13239)
- Fix Micrometer-bridge breaking Spring Actuator metrics (#13083)
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@adrielp
@AlchemyDing
@bencehornak
@breedx-splk
@brunobat
@chalin
@e5l
@edwardxia
@Github-advanced-security
@inssein
@jack-berg
@jamesmoessis
@jaydeluca
@jeanbisutti
@jkwatson
@JonasKunz
@laurit
@NomadBlacky
@rolaca11
@santerivairio
@SentryMan
@shalk
@SoftlySplinter
@step-security-bot
@steverao
@StiviiK
@SylvainJuge
@trask
@xiepuhuan
@zeitlinger
Version 2.12.0
This release targets the OpenTelemetry SDK 1.46.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
- Some Java agent instrumentation suppression keys have been renamed to match their module names: -
elasticsearch-rest-6.0
-->elasticsearch-rest-6.4
-internal-application-logging
-->internal-application-logger
-javalin-5
->javalin-5.0
-pulsar-2.8.0
->pulsar-2.8
- In preparation for stabilizing HTTP library instrumentation soon: -
setCaptured*Headers(List)
methods in*TelemetryBuilder
classes were changed tosetCaptured*Headers(Collection)
(#12901) -setKnownMethods(Set)
methods in*TelemetryBuilder
classes were changed tosetKnownMethods(Collection)
(#12902)
π Enhancements
- Support
ExtendedTextMapGetter
in gRPC instrumentation (#13011) - Add database client metrics in DynamoDB instrumentation (#13033)
- Propagate context into async http client CompletableFuture callbacks (#13041)
- Exclude spring routing data source from Spring Starter instrumentation (#13054)
- Instrument jdbc batch queries (#12797)
π οΈ Bug fixes
- Fix incorrect dubbo trace caused by using rpcContext.isProviderSide() (#12930)
- Fix ClickHouse query failing with syntax error (#13020)
- Fix instrumentation module not loading silently when duplicate helper classnames are detected (#13005)
- Fix compatibility problem due to DubboHeadersGetter#keys in Dubbo 2.7.6 and 2.7.7 (#12982)
- Fix appender install for async Logback appenders (#13047)
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@AlbumenJ
@annettejanewilson
@ataraxis
@cleverchuk
@FlorianBruckner
@jamesmoessis
@jaydeluca
@jeanbisutti
@johnbley
@JonasKunz
@laurit
@markAtAthena
@rghugikar
@shalk
@steverao
@SylvainJuge
@trask
@xiepuhuan
@zeitlinger
Version 2.11.0
This release targets the OpenTelemetry SDK 1.45.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
In preparation for stabilizing HTTP library instrumentation soon:
addAttributeExtractor
methods in a few*TelemetryBuilder
classes have been deprecated and renamed toaddAttributesExtractor
(which is how most of them were named already) (#12860)setEmitExperimental*
methods in*TelemetryBuilder
classes have been deprecated and moved to internal/experimental classes, see Javadoc@deprecated
for exact relocation (#12847)ApacheHttpClient5*
classes have been deprecated and renamed toApacheHttpClient*
(#12854)RatpackTelemetry*
classes have been deprecated and split intoRatpackClientTelemetry*
andRatpackServerTelemetry*
(#12853)SpringWebfluxTelemetry*
classes have been deprecated and split intoSpringWebfluxClientTelemetry*
andSpringWebfluxServerTelemetry*
(#12852)ArmeriaTelemetry*
classes have been deprecated and split intoArmeriaClientTelemetry*
andArmeriaServerTelemetry*
(#12851)*KtorClientTracing*
and*KtorServerTracing*
have been deprecated and renamed to*KtorClientTelemetry*
and*KtorServerTelemetry*
(#12855)- Experimental opt-in attribute
spring-webflux.handler.type
was removed in favor of standardcode.*
attributes (#12887)
π Enhancements
- Map lettuce 5.1
db.namespace
todb.name
(unless using experimental database semconv stability opt-in) (#12609) - Log4j2: add option to fill code attributes (#12592)
- Fill jvm.thread.state attribute for jvm.thread.count metric on jdk8 (#12724)
- Update Spring Scheduling
code.*
attribute extraction for latest release of Spring Scheduling (#12739) - Add jctools classes to
reflect-config.json
for better native image support (#12736) - Support Pulsar Client send message with transaction (#12731)
- Implement reading of simple key-value Logstash JSON Marker attributes (#12513)
- Add agent instrumentation for Ratpack 1.7+ (#12572)
- Added
spring-scheduling.enabled
property to spring-configuration-metadata.json (#12791) - Remove class files from spring-boot-autoconfigure source jar (#12798)
- Updated Camel rules adding route.started, route.added, and thread pools' pool.core_size (#12763)
- Add database client metrics (when using experimental database semconv stability opt-in) (#12806, #12818)
- Add dynamodb instrumenter for aws v1_11 sdk (#12756)
- Remove public suffixes list from the agent (#10763)
- Add an option to disable automatic kafka interceptor configuration in spring starter (#12833)
- Add code attributes to spring webmvc controller spans (#12839)
- Hibernate 6: don't record error on NoResultException (#12879)
- Add support for missing spring list properties (#12819)
- Ktor: support setting custom
spanNameExtractor
(#12842) (#12850) - Rename "db.client.connections.usage" to "db.client.connection.count" (when using experimental database semconv stability opt-in) (#12886)
- Support Struts 7.0 (#12935)
- Support latest Ktor release (#12937)
π οΈ Bug fixes
- Logback: don't make MDCPropertyMap of logging event immutable (#12718)
- Avoid exception when redisson address is null (#12883)
- Add close to fix CWE-404 (#12908)
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@akats7
@andrewj2048
@austinlparker
@breedx-splk
@coderzc
@cuichenli
@dao-jun
@howan36
@jack-berg
@jackshirazi
@jaydeluca
@jeanbisutti
@johnrengelman
@JonasKunz
@KimDoubleB
@kuisathaverat
@larryluogit
@laurit
@LikeTheSalad
@luigidemasi
@micd
@nityanandagohain
@oldium
@pepeshore
@PeterF778
@sam9291
@shalk
@SIMULATAN
@steverao
@SylvainJuge
@the-vj
@trask
@zeitlinger
Version 2.10.0
This release targets the OpenTelemetry SDK 1.44.1.
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
- Ktor 3 instrumentation (#12562)
π New library instrumentation
- Ktor 3 instrumentation (#12562)
Migration notes
- Spring Boot Starter Scheduling instrumentation scope name changed from
io.opentelemetry.spring-scheduling-3.1
toio.opentelemetry.spring-boot-autoconfigure
to reflect the module's name. - Default flush timeout for aws lambda javaagent instrumentation changed from 1 second to 10 seconds to match the flush timeout used in the aws lambda library instrumentation. (#12576)
π Enhancements
- Delegate loading of java package to platform loader (#12505)
- Set up virtual field transforms before otel sdk is initialized (#12444)
- Update azure-core-tracing-opentelemetry version and improve HTTP suppression to back off when Azure SDK tracing is disabled. (#12489)
- Ktor2 http client uses low level instrumentation (#12530)
- Add logback mdc instrumentation to spring boot starter (#12515)
- Run class load listener only once (#12565)
- Remove duplicate byte buddy classes to reduce agent jar file size (#12571)
- Support additional JVM arg syntax in service name resource detector (#12544)
π οΈ Bug fixes
- Fix derby directory connection string parser (#12479)
- Improve whitespace handling in oracle jdbc url parser (#12512)
- Fix SpanKey bridging for unbridgeable span (#12511)
- Fix lettuce instrumentation and tests to pass against latest version (#12552)
- Fix Kafka initialization occasionally failed due to concurrent injection of OpenTelemetryMetricsReporter (#12583)
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@AntonioLyubchev
@breedx-splk
@brunobat
@Cirilla-zmh
@e5l
@greatvovan
@heyams
@jaydeluca
@jeanbisutti
@JonasKunz
@laurit
@lmolkova
@misaya98
@obs-gh-abhishekrao
@pengliaoye
@shalk
@smoke
@steverao
@SylvainJuge
@trask
@v-chernyshev
@vanilla-sundae
@zeitlinger