Skip to content

Releases: open-telemetry/opentelemetry-java-instrumentation

Version 2.18.1

21 Jul 18:41
083d863
Compare
Choose a tag to compare

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

18 Jul 02:26
ba69cd7
Compare
Choose a tag to compare

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

09 Jul 19:57
1fc95c4
Compare
Choose a tag to compare

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

20 Jun 06:57
v2.17.0
8b91a02
Compare
Choose a tag to compare

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
    • metric http.server.tomcat.requestCount --> tomcat.request.count
      • attribute: name --> tomcat.request.processor.name
      • type: Gauge --> Counter
    • metric http.server.tomcat.maxTime --> tomcat.request.duration.max
      • attribute: name --> tomcat.request.processor.name
      • unit: ms --> s
    • metric http.server.tomcat.processingTime --> tomcat.request.duration.sum
      • attribute: name --> tomcat.request.processor.name
      • unit: ms --> s
    • metric http.server.tomcat.traffic --> tomcat.network.io
      • attribute: name --> tomcat.request.processor.name, direction --> network.io.direction
    • metric http.server.tomcat.sessions.activeSessions --> tomcat.session.active.count
      • attribute: context --> tomcat.context
    • metric http.server.tomcat.threads split into two metrics: tomcat.thread.count and tomcat.thread.busy.count
      • attribute: name --> tomcat.thread.pool.name, state removed

📈 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 and tomcat.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

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)