Skip to content

Releases: open-telemetry/opentelemetry-java-instrumentation

Version 2.16.0

16 May 00:32
d53c0e9
Compare
Choose a tag to compare

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

10 Apr 22:36
fc64eba
Compare
Choose a tag to compare

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 under otel.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 an HostIdResource, not an HostResource (#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

14 Mar 01:43
fe01834
Compare
Choose a tag to compare

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 package io.opentelemetry.instrumentation.httpclient was deprecated in favor of the new package name io.opentelemetry.instrumentation.javahttpclient
  • The experimental opt-in jvm.buffer.memory.usage metric was renamed to jvm.buffer.memory.used in order to follow general semantic convention naming
  • The Http *TelemetryBuilder generic signatures were simplified (#12858)

🌟 New javaagent instrumentation

🌟 New library instrumentation

πŸ“ˆ 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

28 Feb 17:17
4026383
Compare
Choose a tag to compare

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

27 Feb 01:35
240306c
Compare
Choose a tag to compare

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

18 Feb 18:42
a57cfb0
Compare
Choose a tag to compare

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

17 Feb 01:27
766c21d
Compare
Choose a tag to compare

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 stable io.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

17 Jan 03:41
65f2b92
Compare
Choose a tag to compare

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 to setCaptured*Headers(Collection) (#12901) - setKnownMethods(Set) methods in *TelemetryBuilder classes were changed to setKnownMethods(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

23 Dec 18:32
c3bfa1c
Compare
Choose a tag to compare

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 to addAttributesExtractor (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 to ApacheHttpClient* (#12854)
  • RatpackTelemetry* classes have been deprecated and split into RatpackClientTelemetry* and RatpackServerTelemetry* (#12853)
  • SpringWebfluxTelemetry* classes have been deprecated and split into SpringWebfluxClientTelemetry* and SpringWebfluxServerTelemetry* (#12852)
  • ArmeriaTelemetry* classes have been deprecated and split into ArmeriaClientTelemetry* and ArmeriaServerTelemetry* (#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 standard code.* attributes (#12887)

πŸ“ˆ Enhancements

  • Map lettuce 5.1 db.namespace to db.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

13 Nov 05:28
0ca120d
Compare
Choose a tag to compare

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 to io.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