Skip to content

Releases: open-telemetry/opentelemetry-java-instrumentation

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

Version 2.9.0

17 Oct 22:54
a3da87f
Compare
Choose a tag to compare

This release targets the OpenTelemetry SDK 1.43.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

  • Allow JMX Insight reuse for remote connections (#12178)
  • Add opentelemetry-semconv-incubating to bom-alpha (#12266)
  • Bridge more incubating api (#12230)
  • Jetty HttpClient 12: propagate context to all response listeners (#12326)
  • Add Pekko Scheduler context propagation (#12359)
  • Add Akka Scheduler context propagation (#12373)
  • Add instrumentation for spring-cloud-aws SqsListener annotation (#12314)
  • Align SpringConfigProperties with DefaultConfigProperties (#12398)
  • Clear context propagation virtual field (#12397)
  • The opt-in experimental attribute aws.requestId was renamed to aws.request_id (to match the semantic conventions) and it is now emitted by default. (#12352)
  • Ability to set Logback argument capture with a property in Spring Boot Starter (#12442)
  • Support experimental declarative configuration (#12265)
  • Spring Boot Starter: Add auto configuration for spring scheduling instrumentation (#12438)
  • Extract APIGatewayProxyRequestEvent headers for context propagation in AWS Lambda instrumentation (#12440)
  • Support JMX state metrics (#12369)
  • Allow method instrumentation module to trace methods in boot loader (#12454)

🛠️ Bug fixes

  • Fix gc duration metric in runtime-telemetry-java17 (#12256)
  • Fix vert.x route containing duplicate segments when RoutingContext.next is used (#12260)
  • Fixes for latest mongo version (#12331)
  • Fix context propagation for ratpack request body stream (#12330)
  • Fix lambda instrumentation to forceFlush logs also (#12341)
  • Can't add custom AttributeExtractor to Apache HttpClient 5 library instrumentation (#12394)
  • Disable logback capture arguments by default (#12445)
  • Add support for missing list properties in spring starter (#12434)

🙇 Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@aarrsseni
@AntonioLyubchev
@breedx-splk
@brunobat
@cleverchuk
@Dimagreg
@dubek
@egahlin
@encodedrose
@fabiolnh
@heyams
@jack-berg
@jackshirazi
@jaydeluca
@jeanbisutti
@jkwatson
@kyy1996
@laurit
@NaveenRamu
@PeterF778
@pingleig
@pjfanning
@rage-shadowman
@RajatArora08
@rdicroce
@s-chance
@shalk
@smoke
@stevenschlansker
@steverao
@SylvainJuge
@trask
@tylerbenson
@vanilla-sundae
@wsargent
@xiepuhuan
@zeitlinger

Version 2.8.0

13 Sep 21:41
7e2259b
Compare
Choose a tag to compare

This release targets the OpenTelemetry SDK 1.42.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.

Migration notes

  • The unit on the opt-in Java 17 JFR-based metrics was updated from milliseconds to seconds to conform with the semantic conventions. If you are using the Java agent, this only affects you if you are opting in via otel.instrumentation.runtime-telemetry-java17.enable-all=true. (#12084, #12244)

📈 Enhancements

  • Update Pulsar instrumentation to work with next Pulsar release (#11648)
  • Capture network.peer.address in OkHttp 3.0 instrumentation (#12012)
  • Add support for CXF 4.0 JAX-WS (#12077)
  • Add rules for capturing Apache Camel metrics exposed by JMX MBeans (#11901)
  • Make RocketMQ span status extractor delegate to the default extractor (#12183)
  • Bridge log body any value (#12204)
  • Add declarative config support for resource providers (#12144)

🛠️ Bug fixes

  • Fix Javaagent doesn't work with java.net.spi.InetAddressResolverProvider (#11987)
  • Fix Oracle UCP 11 metrics not emitted (#12052)
  • Fix wrong database info captured while using Apache ShardingSphere (#12066)
  • Fix RabbitMQ NullPointerException (#12109)
  • Fix possible NullPointerException in Play instrumentation (#12121)
  • Fix error span status for successful requests in Ktor (#12161)
  • Make OpenTelemetryHandlerMappingFilter handle exceptions from ServletRequestPathUtils.parseAndCache() (#12221)
  • Fix tracing CoroutineCrudRepository.findById (#12131)
  • Fix capturing context in log4j library instrumentation with async logger (#12176)

🙇 Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@123liuziming
@allati
@crossoverJie
@dao-jun
@hermannpencole
@heyams
@huange7
@jack-berg
@jackshirazi
@jaydeluca
@jeanbisutti
@jerrylincs
@JonasKunz
@laurit
@LikeTheSalad
@luigidemasi
@marychatte
@ofelbaum
@PeterF778
@robsunday
@serkan-ozal
@shalk
@steverao
@SylvainJuge
@trask
@xiepuhuan
@XuyuFu
@zeitlinger

Version 1.33.6

26 Aug 13:45
a819d57
Compare
Choose a tag to compare

This is a patch release on the previous 1.33.5 release, fixing the issue(s) below.

📈 Enhancements

  • Backport: Update the OpenTelemetry SDK version to 1.41.0 (#12071)

Version 2.7.0

16 Aug 12:59
c600c16
Compare
Choose a tag to compare

This release targets the OpenTelemetry SDK 1.41.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

  • Add span baggage processor (#11697)
  • Improve tomcat version detection (#11936)
  • Improve akka route handling with java dsl (#11926)
  • Ignore Alibaba fastjson ASMClassLoader (#11954)
  • Use aws-lambda-java-serialization library, which is available by default, while deserializing input and serializing output (#11868)
  • Logback appender: map timestamp in nanoseconds if possible (#11974)
  • Save ILoggingEvent.getArgumentArray() arguments from Logback (#11865)
  • Update Java 17-based metrics to stable semconv (#11914)
  • Add Pulsar Consumer metrics (#11891)

🛠️ Bug fixes

  • Fix missing throw statement in RestClientWrapper (#11893)
  • Fix ClickHouse tracing when database name not included in connection string (#11852)
  • Fix class cast exception, noop meter does not implement incubating API (#11934)
  • Closing a kafka producer/consumer should not disable metrics from other consumers/producers (#11975)
  • Fix ending span in Ktor plugin (#11726)
  • Fix netty memory leak (#12003)

🙇 Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@ArtyomGabeev
@asuresh4
@breedx-splk
@crossoverJie
@devurandom
@halleystar
@huange7
@igor-suhorukov
@janfreymann
@jaydeluca
@jeanbisutti
@jjoslet
@jkwatson
@JonasKunz
@jpkrohling
@kjschnei001
@kyy1996
@laurit
@LikeTheSalad
@marrek13
@marychatte
@rapphil
@robsunday
@secustor
@serkan-ozal
@stanosamek
@starsliao
@steverao
@SylvainJuge
@trask
@tylerbenson
@zeitlinger

Version 1.33.5

25 Jul 18:47
2717ed0
Compare
Choose a tag to compare

This is a patch release on the previous 1.33.4 release, fixing the issue(s) below.

📈 Enhancements

  • Backport: Update the OpenTelemetry SDK version to 1.40.0 (#11879)

Version 2.6.0

17 Jul 01:42
6021bce
Compare
Choose a tag to compare

This release targets the OpenTelemetry SDK 1.40.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.

The Spring Boot Starter (opentelemetry-spring-boot-starter) is now stable.

Migration notes

  • The opentelemetry-spring-boot and opentelemetry-spring-boot-3 artifacts have been merged into a single artifact named opentelemetry-spring-boot-autoconfigure which supports both Spring Boot 2 and Spring Boot 3
  • Two experimental HTTP metrics have been renamed: - http.server.request.sizehttp.server.request.body.size, - http.server.response.sizehttp.server.response.body.size

🌟 New javaagent instrumentation

📈 Enhancements

  • Support HTTP client instrumentation configuration in Spring starter (#11620)
  • Influxdb client: don't fill db.statement for create/drop database and write operations (#11557)
  • Support otel.instrumentation.common.default-enabled in the Spring starter (#11746)
  • Support Jetty HTTP client 12 (#11519)
  • Add Pulsar messaging.producer.duration metric (#11591)
  • Improve instrumentation suppression behavior (#11640)
  • Propagate OpenTelemetry context through custom AWS client context for Lambda direct calls (#11675)
  • Spring Native support for @WithSpan (#11757)
  • Support HTTP server instrumentation config properties in the Spring starter (#11667)

🛠️ Bug fixes

  • Fix http.server.active_requests metric with async requests (#11638)

🙇 Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@123liuziming
@breedx-splk
@crossoverJie
@devurandom
@heyams
@jaydeluca
@jeanbisutti
@johnbley
@JonasKunz
@laurit
@lucasamoroso
@pandaji
@steverao
@SylvainJuge
@trask
@tylerbenson
@xiepuhuan
@Yindazz
@zeitlinger

Version 1.33.4

19 Jun 11:12
4a5a265
Compare
Choose a tag to compare

This is a patch release on the previous 1.33.3 release, fixing the issue(s) below.

📈 Enhancements

  • Backport: Undertow, run response customizer on all ServerConnection implementations (#11548)
  • Backport: Improve security manager support (#11606)
  • Backport: Update the OpenTelemetry SDK version to 1.39.0 (#11603)

🛠️ Bug fixes

  • Backport: Avoid NullPointerException when JMS destination is not available (#11577)
  • Backport: Fix Spring Kafka instrumentation closing the trace too early (#11592)
  • Backport: Fix gRPC instrumentation adding duplicates to metadata instead of overwriting (#11604)
  • Backport: Fix request header capture corrupting tomcat request (#11607)

Version 2.5.0

17 Jun 17:39
f0e9fdb
Compare
Choose a tag to compare

This release targets the OpenTelemetry SDK 1.39.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

  • Add support for Informix connection string parsing in JDBC instrumentation (#11542)
  • Generate an SBOM for the javaagent artifact (#11075)
  • Extract sql operation even when the sanitizer is disabled (#11472)
  • Improve security manager support (#11466)
  • Generate Log4j2Plugin.dat for OpenTelemetryAppender (#11503)
  • Stop kotlin coroutine dispatcher from propagating context (#11500)
  • Handle Vert.x sub routes (#11535)
  • Undertow: run response customizer on all ServerConnection implementations (#11539)
  • Allow configuring MDC key names for trace_id, span_id, trace_flags (#11329)
  • Apply async end strategy to all kotlin coroutine flows (#11583)

🛠️ Bug fixes

  • Fix container.id issue in some crio scenarios (#11382)
  • Fix Finagle http client context propagation (#11400)
  • Fix sporadically failing finagle test (#11441)
  • Fix request header capture corrupting tomcat request (#11469)
  • Fix Ktor server instrumentation when Ktor client library is not present (#11454)
  • Fix gRPC instrumentation adding duplicates to metadata instead of overwriting (#11308)
  • Avoid NullPointerException when JMS destination is not available (#11570)
  • Fix Spring Kafka instrumentation closing the trace too early (#11471)

🙇 Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@AlchemyDing
@breedx-splk
@cleverchuk
@heyams
@himamulch
@jack-berg
@jaydeluca
@jeanbisutti
@JonasKunz
@KarinaGanieva-sl
@kintan-singh-backend
@kjschnei001
@laurit
@liurui-1
@ofelbaum
@pavelvodrazka
@pepeshore
@philsttr
@Questlog
@rickardoberg
@s-af
@steverao
@SylvainJuge
@trask
@tylerbenson
@wgy035
@zeitlinger
@zhangjiabin1010