Skip to content

Releases: open-telemetry/opentelemetry-java-instrumentation

Version 1.32.1

02 Feb 16:38
ea2e14a
Compare
Choose a tag to compare

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

📈 Enhancements

  • Backport: update jackson packages to v2.16.1 (#10198, #10199)
  • Backport: implement forEach support for aws sqs tracing list (#10195)
  • Backport: Bridge metric advice in OpenTelemetry API 1.32 (#10026)
  • Update the OpenTelemetry SDK version to 1.34.1 (#10320)

🛠️ Bug fixes

  • Backport: Handle authority from request when HttpHost is null (#10204)
  • Backport: Null check for nullable response object in aws sdk 1.1 instrumentation (#10029)
  • Backport: Make Netty Instrumentation HttpServerRequestTracingHandler propagate "Channel Inactive" event to downstream according to parent contract (#10303)
  • Backport: Fix Netty addListener instrumentation (#10254)
  • Backport: Update azure-core-tracing-opentelemetry version and fix sync suppression (#10350)

Version 2.0.0

12 Jan 22:19
39e7e9c
Compare
Choose a tag to compare

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

The 2.0.0 release contains significant breaking changes that will most likely affect all users, please be sure to read the breaking changes below carefully.

Note: 1.32.x will be security patched for at least 6 months in case some of the changes below are too disruptive to adopt right away.

⚠️⚠️ Breaking changes ⚠️⚠️

  • The default OTLP protocol has been changed from grpc to http/protobuf in order to align with the specification. You can switch to the grpc protocol using OTEL_EXPORTER_OTLP_PROTOCOL=grpc or -Dotel.exporter.otlp.protocol=grpc.
  • Micrometer metric bridge has been disabled by default. You can enable it using OTEL_INSTRUMENTATION_MICROMETER_ENABLED=true or -Dotel.instrumentation.micrometer.enabled=true.
  • The OTLP logs exporter is now enabled by default. You can disable it using OTEL_LOGS_EXPORTER=none or -Dotel.logs.exporter=none.
  • Controller spans are now disabled by default. You can enable them using OTEL_INSTRUMENTATION_COMMON_EXPERIMENTAL_CONTROLLER_TELEMETRY_ENABLED=true or -Dotel.instrumentation.common.experimental.controller-telemetry.enabled=true.
  • View spans are now disabled by default. You can enable them using OTEL_INSTRUMENTATION_COMMON_EXPERIMENTAL_VIEW_TELEMETRY_ENABLED=true or -Dotel.instrumentation.common.experimental.view-telemetry.enabled=true.
  • ⚠️⚠️ Stable HTTP semantic conventions are now emitted ⚠️⚠️
    • TOO MANY CHANGES TO LIST HERE, be sure to review the full list of changes.
  • Stable JVM semantic conventions are now emitted.
    • Memory metrics

      • process.runtime.jvm.memory.usage renamed to jvm.memory.used
      • process.runtime.jvm.memory.committed renamed to jvm.memory.committed
      • process.runtime.jvm.memory.limit renamed to jvm.memory.limit
      • process.runtime.jvm.memory.usage_after_last_gc renamed to jvm.memory.used_after_last_gc
      • process.runtime.jvm.memory.init renamed to jvm.memory.init (still experimental)
      • Metric attributes:
        • type renamed to jvm.memory.type
        • pool renamed to jvm.memory.pool.name
    • Garbage collection metrics

      • process.runtime.jvm.gc.duration renamed to jvm.gc.duration
      • Metric attributes:
        • name renamed to jvm.gc.name
        • action renamed to jvm.gc.action
    • Thread metrics

      • process.runtime.jvm.threads.count renamed to jvm.threads.count
      • Metric attributes:
        • daemon renamed to jvm.thread.daemon
    • Classes metrics

      • process.runtime.jvm.classes.loaded renamed to jvm.classes.loaded
      • process.runtime.jvm.classes.unloaded renamed to jvm.classes.unloaded
      • process.runtime.jvm.classes.current_loaded renamed to jvm.classes.count
    • CPU metrics

      • process.runtime.jvm.cpu.utilization renamed to jvm.cpu.recent_utilization
      • process.runtime.jvm.system.cpu.load_1m renamed to jvm.system.cpu.load_1m (still experimental)
      • process.runtime.jvm.system.cpu.utilization renamed to jvm.system.cpu.utilization (still experimental)
    • Buffer metrics

      • process.runtime.jvm.buffer.limit renamed to jvm.buffer.memory.limit (still experimental)
      • process.runtime.jvm.buffer.count renamed to jvm.buffer.count (still experimental)
      • process.runtime.jvm.buffer.usage renamed to jvm.buffer.memory.usage (still experimental)
      • Metric attributes:
        • pool renamed to jvm.buffer.pool.name

More migration notes

  • Lettuce CONNECT spans are now disabled by default. You can enable them using OTEL_INSTRUMENTATION_LETTUCE_CONNECTION_TELEMETRY_ENABLED=true or -Dotel.instrumentation.lettuce.connection-telemetry.enabled=true.
  • The configuration property otel.instrumentation.log4j-appender.experimental.capture-context-data-attributes has been renamed to otel.instrumentation.log4j-appender.experimental.capture-mdc-attributes.
  • MDC attribute prefixes (log4j.mdc. and logback.mdc.*) have been removed.
  • The artifact instrumentation-api-semconv has been renamed to instrumentation-api-incubator.
  • HTTP classes have been moved from instrumentation-api-incubator to instrumentation-api and as a result are now stable.

🌟 New javaagent instrumentation

  • Vert.x redis client (#9838)

📈 Enhancements

  • Reduce reactor stack trace depth (#9923)
  • Implement error.type in spring-webflux and reactor-netty instrumentations (#9967)
  • Bridge metric advice in OpenTelemetry API 1.32 (#10026)
  • Capture http.route for akka-http (#10039)
  • Rename telemetry.auto.version to telemetry.distro.version and add telemetry.distro.name (#9065)
  • Implement forEach support for aws sqs tracing list (#10062)
  • Add http client response attributes to aws sqs process spans (#10074)
  • Add support for OTEL_RESOURCE_ATTRIBUTES, OTEL_SERVICE_NAME, OTEL_EXPORTER_OTLP_HEADERS, and OTEL_EXPORTER_OTLP_PROTOCOL for spring boot starter (#9950)
  • Add elasticsearch-api-client as instrumentation name to elasticsearch-api-client-7.16 (#10102)
  • Add instrumentation for druid connection pool (#9935)
  • Remove deprecated rocketmq setting (#10125)
  • JMX metrics for Tomcat with 'Tomcat' JMX domain (#10115)
  • Capture the SNS topic ARN under the 'messaging.destination.name' span attribute. (#10096)
  • Add network attributes to rabbitmq process spans (#10210)
  • Add UserExcludedClassloadersConfigurer (#10134)
  • Apply both server attributes & network attributes to Lettuce 5.1 (#10197)

🛠️ Bug fixes

  • Fix aws propagator presence check in spring boot starter (#9924)
  • Capture authority from apache httpclient request when HttpHost is null (#9990)
  • Fix NoSuchBeanDefinitionException with the JDBC driver configuration in spring boot starter (#9978)
  • Null check for nullable response object in aws sdk 1.1 instrumentation (#10029)
  • Fix using opentelemetry-spring-boot with Java 8 and Gradle (#10066)
  • Fix transforming Java record types (#10052)
  • Fix warnings from the spring boot starter (#10086)
  • Resolve ParameterNameDiscoverer Bean Conflict in spring-boot-autoconfigure (#10105)

🙇 Thank you

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

@AlchemyDing
@anhermon
@anuraaga
@bcarter97
@breedx-splk
@happyuser23
@heyams
@jack-berg
@jaydeluca
@jeanbisutti
@JonasKunz
@kenfinnigan
@knbk
@laurit
@mateuszrzeszutek
@moznion
@nilsga
@PaurushGarg
@PeterF778
@rBrda
@SHaaD94
@stevesea
@SylvainJuge
@tduncan
@theletterf
@trask
@TylerHelmuth
@vallabhnatu
@xiongchun
@zeitlinger

Version 1.32.0

18 Nov 01:37
a36175c
Compare
Choose a tag to compare

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

  • Old server/client socket getter methods deprecated (#9716)

📈 Enhancements

  • Allow enabling receive telemetry in kafka library instrumentation (#9693)
  • Add JdbcTelemetry and JdbcTelemetryBuilder (#9685)
  • Rename http.resend_count to http.request.resend_count (#9700)
  • Define url.scheme in terms of logical operation in HTTP server semconv (when opting in to new semconv) (#9698)
  • Generate only consumer span for sqs receive message (#9652)
  • Replace (client|server).socket.(address|port) attributes with network.(peer|local).(address|port) (when opting in to new semconv) (#9676)
  • Add capability for invokedynamic InstrumentationModules to inject proxies (#9565)
  • Make network.transport and network.type opt-in (when opting in to new semconv) (#9719)
  • Factor in X-Forwarded-Host/Forwarded when capturing server.address and server.port (when opting in to new semconv) (#9721)
  • Move class that should've been internal to internal package (#9725)
  • Only set server.port when server.address is set (when opting in to new semconv) (#9737)
  • Add messaging conventions to sqs spans (#9712)
  • Make the JDBC driver config work with the OTel starter (#9625)
  • Don't normalize the '-' character in HTTP header names when opting in to new semconv (#9735)
  • Add instrumentation for jaxws metro 3.0+ (#9705)
  • Change user_agent.original from recommended to opt-in on HTTP client spans (#9776)
  • Change the precedence between :authority and Host headers (#9774)
  • Move capturing enduser.id attribute behind a flag (#9751, #9788)
  • Remove conditional requirement on network.peer.address and network.peer.port (when opting in to new semconv) (#9775)
  • Change client.port from recommended to opt-in on HTTP server spans (when opting in to new semconv) (#9786)
  • Make url.scheme opt in for HTTP client metrics and make server.port required (when opting in to new semconv) (#9784)
  • Change http.request.body.size and http.response.body.size attributes from recommended to opt-in (when opting in to new semconv) (#9799)
  • Capture http.route in spring-cloud-gateway (#9597)
  • Always set messaging operation (#9791)
  • Change network.protocol.name from opt-in to conditionally required (when opting in to new semconv) (#9797)
  • Support specifying spring.application.name in the bootstrap.properties, bootstrap.yml and bootstrap.yaml (#9801)
  • Add process spans to aws-1 sqs instrumentation (#9796)
  • Implement capturing message headers for aws1 sqs spans (#9824)
  • Add process spans to aws2 sqs instrumentation (#9778)
  • Add service.name to MDC (#9647)
  • Capture enduser attributes in Spring Security (#9777)
  • Capture message id in aws1 sqs instrumentation (#9841)
  • Implement capturing message headers for aws2 sqs spans (#9842)
  • Move kafka metrics to separate instrumentation module (#9862)
  • Capture logback logger context properties (#9553)
  • Stable JVM semconv implementation: classes (#9821)
  • Stable JVM semconv implementation: threads (#9839)
  • Stable JVM semconv implementation: GC (#9890)
  • Bridge incubator metrics apis (#9884)
  • Ability to instrument logs before OTel injection into OTel appenders (#9798)
  • Suppress instrumentation based on suppress Context key (#9739)
  • Stable JVM semconv implementation: the rest (#9896)

🛠️ Bug fixes

  • Fix armeria server instrumentation for http2 (#9723)
  • Guard against null list from aws SQS lib (#9710)
  • Fix parsing port from mariadb jdbc url (#9863)

🧰 Tooling

  • Improve disableShadowRelocate (#9715)
  • Allow injection of helper bytecode as resources (#9752)
  • Rewrite @Advice.Enter for indy advice (#9887)

🙇 Thank you

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

@123liuziming
@AlchemyDing
@breedx-splk
@brunobat
@cleverchuk
@cxjava
@glebignatieff
@hannahchan
@jack-berg
@jackshirazi
@jaydeluca
@jeanbisutti
@JonasKunz
@kares
@kenfinnigan
@laurit
@lesterhaynes
@LikeTheSalad
@mateuszrzeszutek
@mmorel-35
@nluk
@otbe
@PaurushGarg
@philsttr
@steverao
@tduncan
@trask
@tylerbenson
@wzy531a

Version 1.31.0

12 Oct 19:33
97d87f3
Compare
Choose a tag to compare

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

📈 Enhancements

  • Add instrumentation for vert.x sql client withTransaction method (#9462)
  • Improve hibernate reactive instrumentation (#9486)
  • Support application.yaml files in SpringBootServiceNameDetector (#9515)
  • Add Spring Boot service version finder / ResourceProvider (#9480)
  • Split hibernate reactive instrumentation (#9531)
  • Rework reactor netty context tracking (#9286)
  • Improve spring data reactive instrumentation (#9561)
  • Support akka http latest version (#9573)
  • Enhance AWS SDK Instrumentation with Detailed HTTP Error Information (#9448)
  • Update HTTP metrics' descriptions (#9635)
  • Remove server.socket.address from HTTP/RPC metrics (#9633)
  • Remove 0 bucket from stable HTTP metrics (#9631)
  • Suppress nested http client spans in aws2 instrumentation (#9634)
  • Implement spec changes for grpc server span error status (#9641)
  • Improve vertx-sql client context propagation (#9640)
  • Add url.scheme to HTTP client metrics (#9642)
  • Add support for newVirtualThreadPerTaskExecutor (#9616)
  • Implement error.type attribute in HTTP semconv (#9466)
  • Emit package events (#9301)
  • Added Automatic-Module-Name header to MANIFEST.MF in instrumentation libraries (#9140)
  • Support paths in peer.service mappings (#9061)
  • Compile ktor library instrumentation for earlier kotlin version (#9661)

🛠️ Bug fixes

  • Fix NPE happening when .headersWhen() is used (reactor-netty) (#9511)
  • Spring webflux: add user spans as children of the controller span (#9572)
  • Make netty ChannelPipeline removeLast return user handler (#9584)

🙇 Thank you

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

@123liuziming
@62mkv
@breedx-splk
@ccorbacho
@esamson
@Hayanesh
@jack-berg
@jaydeluca
@jeanbisutti
@JonasKunz
@kenfinnigan
@laurit
@LMarkie
@mateuszrzeszutek
@mmorel-35
@paul-kraftlauget
@peachisai
@philsttr
@pxaws
@rapphil
@rjbaucells
@samwright
@SylvainJuge
@trask
@tylerbenson
@wangzlei

Version 1.30.0

14 Sep 10:54
70f2c5e
Compare
Choose a tag to compare

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

  • Experimental HTTP server metrics have been split out from HttpServerMetrics into a separate class HttpServerExperimentalMetrics (#9259)
  • HttpClientResend has been renamed to HttpClientResendCount, HttpRouteHolder has been renamed to HttpServerRoute (#9280)
  • The previously deprecated otel.javaagent.experimental.extensions configuration was removed (it is replaced by otel.javaagent.extensions) (#9378)

🌟 New javaagent instrumentation

  • Add instrumentation for hibernate reactive (#9304)

📈 Enhancements

  • Don't log stack trace for expected exceptions in AWS SDK instrumentation (#9279)
  • Add support for the AWS Secrets Manager JDBC URLs (#9335)
  • More support for upcoming semantic convention changes (#9346 #9345, #9320, #9355, #9381, #9441)
  • Unwrap Runnable in ThreadPoolExecutor before/after methods (#9326)
  • Add javaagent to instrumentation bom (#9026)
  • Add support for multiple headers in AlternateUrlSchemeProvider (#9389)
  • Skip PreparedStatement wrappers (#9399)
  • Disable Elasticsearch instrumentation for ES clients 8.10+ (#9337)
  • Disable elasticsearch-rest-7.0 instrumentation when elasticsearch-java 8.10+ is present (#9450)
  • Use attributes advice for HTTP & RPC metrics (#9440)
  • Update Messaging semantic conventions to 1.21.0 (#9408)
  • Add semconv to alpha bom (#9425)

🛠️ Bug fixes

  • Ensure .class files aren't present in the resources library MR jar (#9245)
  • Fixed getDefinedPackage lookup for OpenJ9 (8) (#9272)
  • Ignore aws sdk v2 presign requests (#9275)
  • Add logging timestamp for log4j1 appender instrument (#9309)
  • Fix VerifyError with kotlin @WithSpan instrumentation (#9313)
  • Fix serializing key to string in Lettuce instrumentation (#9347)
  • Auto-instrumentation with JMX not working without a trigger (#9362)
  • Return default DbInfo when connection is null (#9413)
  • Fix instrumentation for reactor kafka 1.3.21 (#9445)

🙇 Thank you

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

@AlexanderWert
@breedx-splk
@cleidiano
@ebyhr
@gavlyukovskiy
@jackshirazi
@jaydeluca
@jmk75
@JonasKunz
@laurit
@lmolkova
@mateuszrzeszutek
@PeterF778
@phil-rice-HCL
@poom-kitti
@shreya22-1998
@SylvainJuge
@trask
@tylerbenson
@yingziisme
@zbytt

Version 1.29.0

17 Aug 04:31
720cc3b
Compare
Choose a tag to compare

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

  • NetClientAttributesExtractor and NetServerAttributesExtractor have been deprecated (#9165, #9156)
  • HttpClientAttributesGetter now extends NetClientAttributesGetter and HttpServerAttributesGetter extends NetServerAttributesGetter (#9015, #9088)
  • A couple of Spring starter configuration options have been renamed to match Java agent options: - otel.springboot.httpclients.enabled -> otel.instrumentation.spring-webmvc.enabled or otel.instrumentation.spring-webmvc.enabled depending on the underlying http client - otel.springboot.aspects.enabled -> otel.instrumentation.annotations.enabled (#8950)
  • Previously deprecated suppression key executor was removed from executors module, the new suppression key is executors (#9064)

🌟 New javaagent instrumentation

🌟 New library instrumentation

  • Elasticsearch rest client (#8911)

📈 Enhancements

  • Include OpenTelemetry logging appenders in the Spring Starter (#8945)
  • Support RPC metrics under "stable" http semconv opt-in (#8948)
  • Support the http.request.method_original attribute under "stable" semconv opt-in (#8779)
  • Make server.socket.* attributes on the HTTP server side opt-in (#8747)
  • Fill additional db.* attributes on DataSource#getConnection() (#8966)
  • Lettuce instrumentation - optimization to avoid extra toString() (#8984)
  • Allow overriding span name in spring web library instrumentation (#8933)
  • Implement HTTP resend spec for Reactor Netty (excl CONNECT spans) (#8111)
  • Set process.runtime.jvm.system.cpu.load_1m metric unit to {run_queue_item} (#8777)
  • Update elasticsearch instrumentation to work with latest version (#9066)
  • Reactor Netty: emit actual HTTP client spans on connection errors (#9063)
  • Rename http.*.duration to http.*.request.duration under "stable" semconv opt-in (#9089)
  • Snippet inject support for non-empty head tags (#8736)
  • Update network.protocol.version 2.0 -> 2 and 3.0 -> 3 (#9145)
  • @WithSpan support for kotlin coroutines (#8870)

🛠️ Bug fixes

  • Fix incompatibility between quarkus resteasy reactive and vertx-web instrumentations (#8998)
  • Fix IllegalArgumentException in MetroServerSpanNaming (#9075)
  • Fix rector netty instrumentation under concurrency (#9081)
  • Improve grpc cancellation propagation (#8957)
  • Add missing timestamp for jboss logmanager instrumentation (#9159)
  • Handle kafka METRIC_REPORTER_CLASSES_CONFIG being set to a List (#9155)
  • Fix NullPointerException with Pulsar and SSL (#9166)
  • Netty 4.1: handle closing connection before the request completes (#9157)
  • Micrometer bridge: use app's thread context class loader for callbacks into app (#9000)
  • Fix context propagation in Executor#execute() for non-capturing lambdas (#9179)
  • Ensure reactor netty spans are ended in the order they were started (#9203)

🙇 Thank you

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

@alaegin
@AlexanderWert
@amitgud-doordash
@anderssv
@bcoquell
@breedx-splk
@cleidiano
@darcydai
@davsheld-te
@dkharlan
@doppleware
@guadalupe-duolingo
@jack-berg
@jackshirazi
@jaydeluca
@jeanbisutti
@jkamon
@JonasKunz
@josecoelho96
@kaiwen
@keithc-ca
@laurit
@lmolkova
@mateuszrzeszutek
@oliver-zhang
@pg-yang
@sebastian-hans-swm
@siyuniu-ms
@stevesea
@swar8080
@theletterf
@trask
@tylerbenson
@xiangtianyu
@XiaoWeiKIN
@YuliaMittova
@zeitlinger

Version 1.28.0

12 Jul 21:04
551b8cd
Compare
Choose a tag to compare

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

  • Rename HTTP configuration settings (#8758) - otel.instrumentation.http.capture-headers.client.requestotel.instrumentation.http.client.capture-request-headers - otel.instrumentation.http.capture-headers.client.responseotel.instrumentation.http.client.capture-response-headers - otel.instrumentation.http.capture-headers.server.requestotel.instrumentation.http.server.capture-request-headers - otel.instrumentation.http.capture-headers.server.responseotel.instrumentation.http.server.capture-response-headers

📈 Enhancements

  • Support latest armeria release (#8745)
  • Support latest mongo release (#8785)
  • Remove server.{address,port} from HTTP server metrics (#8771)
  • aws-sdk-2.2.: Support injection into SQS.SendMessageBatch message attributes (#8798)
  • Log4j and Logback appenders opt-in to using GlobalOpenTelemetry (#8791)
  • aws-sdk-2.2: SNS.Publish support with experimental messaging propagator flag (#8830)
  • support for adding baggage to log4j 2 ContextData (#8810)
  • Micrometer bridge: interpret no SLO config as no buckets advice (#8856)
  • Instrumentation for Elasticsearch 8+ (#8799)
  • Add support for schemaUrls auto-computed from AttributesExtrators (#8864)
  • Initialize appenders in the spring boot starter (#8888)
  • Support reactor-netty 1.0.34+ (#8922)
  • Rename messaging operation "send" to "publish" per spec (#8929)
  • Extract query arguments without regex on lettuce 6 (#8932)

🛠️ Bug fixes

  • Fix logging timestamp (#8761)
  • Minor fixes to the server.* attributes extrator (#8772)
  • Fix context leak on call to AmazonS3.generatePresignedUrl (#8815)
  • Fix exception when pulsar has multiple service addresses (#8816)
  • Fix NPE in aws instrumentation on duplicate TracingExecutionInterceptor (#8896)
  • (micrometer) don't add . to empty unit with prometheus naming conventions (#8872)
  • Set server span name for aborted requests in quarkus resteasy native (#8891)
  • Fix instrumentation of Azure SDK EventHubs library (#8916)
  • Fix http attributes of AWS SDK V2 instrumentation (#8931)

🙇 Thank you

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

@abhisesh
@AlexanderWert
@bcoquell
@breedx-splk
@frombrest
@huange7
@jack-berg
@jaydeluca
@jeanbisutti
@josecoelho96
@jprinet
@laurit
@lmolkova
@lu-xiaoshuang
@mateuszrzeszutek
@Oberon00
@quinoant
@rapphil
@scprek
@swar8080
@SylvainJuge
@theletterf
@trask
@tylerbenson
@XiaoWeiKIN
@zeitlinger

Version 1.27.0

14 Jun 19:54
92bd748
Compare
Choose a tag to compare

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

  • Jersey 3.0 instrumentation suppression keys have changed from jaxrs-2.0 to jaxrs-3.0, and from jersey-2.0 to jersey-3.0 (#8486)
  • The opentelemetry-runtime-metrics artifact has been renamed and split into opentelemetry-runtime-telemetry-java8 and opentelemetry-runtime-telemetry-java17 (#8165, #8715)
  • InetSocketAddressNetServerAttributesGetter and InetSocketAddressNetClientAttributesGetter have been deprecated (#8341, #8591)
  • The new HTTP and network semantic conventions can be opted into using either the system property otel.semconv-stability.opt-in or the environment variable OTEL_SEMCONV_STABILITY_OPT_IN, which support two values:
    • http - emit the new, stable HTTP and networking attributes, and stop emitting the old experimental HTTP and networking attributes that the instrumentation emitted previously.
    • http/dup - emit both the old and the stable HTTP and networking attributes, allowing for a more seamless transition.
    • The default behavior (in the absence of one of these values) is to continue emitting the same HTTP and network semantic conventions that were emitted in 1.26.0.
    • Note: this option will be removed later this year after the new HTTP and network semantic conventions are marked stable, at which time the Java instrumentation version will be bumped from 1.x to 2.0, and the old HTTP and network semantic conventions will no longer be supported.

🌟 New javaagent instrumentation

📈 Enhancements

  • Use histogram advice in the Micrometer bridge (#8334)
  • Disable by default gauge-based histograms in the Micrometer bridge (#8360)
  • Specify ...jvm.gc.duration buckets using advice API (#8436)
  • Make spanKindExtractor configurable in Ktor instrumentations (#8255)
  • aws-sdk-2.2: Support non-X-Ray propagation for SQS (#8405)
  • Implement HTTP resend spec for OkHttp 3 (#7652)
  • Use jakarta.servlet.error.exception request attribute on jetty11 (#8503)
  • Provide spring-boot-autoconfigure configuration metadata (#8516)
  • Read AWS lambda tracing info from com.amazonaws.xray.traceHeader system property (#8368)
  • Skip not decorator check for classes in boot loader (#8594)
  • Change context propagation debug failures from error to warn (#8601)
  • JavaScript Snippet Injection Support Servlet 5 (#8569)
  • Faster type matching (#8525)
  • Explicitly disable the logging exporter by default to override the upcoming SDK autoconfigure module change in 1.27.0 and preserve existing behavior (#8647)
  • Support otel.sdk.disabled in the spring boot starter (#8602)
  • Add OTLP log exporter to the OpenTelemetry Spring Starter (#8493)
  • Suppress Spring Actuator instrumentation when micrometer instrumentation is suppressed (#8677)
  • Replace "1" with the appropriate units and don't fall back to "1" if the unit is unknown (#8668)
  • Added setOpenTelemetry method to log4j appender (#8231)

🛠️ Bug fixes

  • Fix using logback mdc instrumentation along with SocketAppender (#8498)
  • Fix failure when kafka metrics reporter is set to an empty string (#8523)
  • Remove extra space from kubernetes client span name (#8540)
  • Fix jetty context leak (#8552)
  • Filter out scalar Mono/Flux instances (#8571)
  • End netty client span when channel is closed (#8605)
  • Unregistering jmx gc metrics on close (#8650)
  • Fix snippet injection ClassCastException (#8701)
  • Only instrument the actual Spring TaskScheduler implementations (#8676)

🙇 Thank you

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

@62mkv
@bcoquell
@breedx-splk
@brunobat
@edzebo
@gavlyukovskiy
@huange7
@insotriplesix
@irizzant
@jack-berg
@jdoherty
@jeanbisutti
@kes2464
@kurvatch
@laurit
@mateuszrzeszutek
@michaeljohnalbers
@Oberon00
@orangain
@qiansheng91
@roberttoyonaga
@rotscher
@rupinder10
@sakthiraam
@siyuniu-ms
@smirnoal
@theletterf
@trask
@tylerbenson
@ViliusS
@will-zdu
@zeitlinger
@zoobert

Version 1.26.0

11 May 10:11
150c140
Compare
Choose a tag to compare

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

  • java.util.concurrent executors instrumentation suppression key has changed from executor to executors (#8451)

🌟 New javaagent instrumentation

  • Add instrumentation for vertx-sql-client (#8311)

🌟 New library instrumentation

📈 Enhancements

  • Make net.transport an optional attribute (#8279)
  • Introduce @AddingSpanAttributes annotation (#7787)
  • JavaScript snippet injection (#7650)
  • Map peer.service also from net.sock.peer.name (#7888)
  • Set up EarlyInitAgentConfig even earlier (#8413)

🛠️ Bug fixes

  • Fix nested http.route (#8282)
  • Fix undertow instrumentation with http pipelining (#8400)
  • Fix http pipelining on Grizzly (#8411)
  • Fix http pipelining on Netty 4.1 server (#8412)
  • Allow transforming classes with missing field types (#8393)
  • Fix reactor flux retry context leak (#8456)

🧰 Tooling

  • Introduce new incubating InstrumenterBuilder methods (#8392)

🙇 Thank you

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

@apanasevich
@breedx-splk
@BroadWFarmer
@brunobat
@dmarkwat
@edison-moreno
@ericsyh
@fmhwong
@hannahchan
@heyams
@kaibocai7
@laurit
@lmolkova
@mateuszrzeszutek
@niteshs7
@PeterF778
@rahuldimri
@sfriberg
@shuwpan
@siyuniu-ms
@stevesea
@theletterf
@trask
@tylerbenson
@xiangtianyu
@yzhuang93

Version 1.25.1

27 Apr 22:39
6f4237f
Compare
Choose a tag to compare

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

  • Fix apache pulsar instrumentation missing from the Java agent (#8378)