opentelemetry-java-instrumentation

OpenTelemetry auto-instrumentation and instrumentation libraries for Java

APACHE-2.0 License

Stars
1.9K

Bot releases are visible (Hide)

opentelemetry-java-instrumentation - Version 1.33.6 Latest Release

Published by github-actions[bot] about 2 months ago

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)
opentelemetry-java-instrumentation - Version 2.7.0

Published by github-actions[bot] 2 months ago

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

opentelemetry-java-instrumentation - Version 1.33.5

Published by github-actions[bot] 3 months ago

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)
opentelemetry-java-instrumentation - Version 2.6.0

Published by github-actions[bot] 3 months ago

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

opentelemetry-java-instrumentation - Version 1.33.4

Published by github-actions[bot] 4 months ago

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)
opentelemetry-java-instrumentation - Version 2.5.0

Published by github-actions[bot] 4 months ago

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

opentelemetry-java-instrumentation - Version 1.33.3

Published by github-actions[bot] 5 months ago

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

📈 Enhancements

  • Backport: Fix the logic to get container.id resource attribute (#11333)
  • Backport: Update the OpenTelemetry SDK version to 1.38.0 (#11386)
  • Backport: Fix a bug in undertow instrumentation related to HTTP/2 (#11387)
  • Backport: Fix container.id issue in some crio scenarios (#11405)
opentelemetry-java-instrumentation - Version 2.4.0

Published by github-actions[bot] 5 months ago

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

  • Instrument ConnectionSource in Akka/Pekko HTTP Servers (#11103)
  • Use constant span name when using Spring AMQP AnonymousQueues (#11141)
  • Add support for RestClient in Spring starter (#11038)
  • Add support for WebFlux server in Spring starter (#11185)
  • Add async operation end strategy for Kotlin coroutines flow (#11168)
  • Add automatic JDBC instrumentation to the Spring starter (#11258)
  • Add StructuredTaskScope instrumentation (#11202)
  • Allow reading OTel context from reactor ContextView (#11235)
  • Add spring starter r2dbc support (#11221)
  • Enable instrumentation of Spring EJB clients (#11104)
  • Support otel.instrumentation.kafka.experimental-span-attributes in Spring starter (#11263)
  • Remove incubating semconv dependency from library instrumentation (#11324)
  • Add extension functions for Ktor plugins (#10963)
  • Add dedicated flag for R2DBC statement sanitizer (#11384)
  • Allow library instrumentations to override span name (#11355)
  • Don't sanitize PostgreSQL parameter markers (#11388)
  • Make statement sanitizer configurable for Spring Boot (#11350)

🛠️ Bug fixes

  • Fix GraphQL instrumentation to work with latest version (#11142)
  • Fix jmx-metrics on WildFly (#11151)
  • End gRPC server span in onComplete instead of close (#11170)
  • Fix a bug in undertow instrumentation related to HTTP/2 (#11361)
  • Armeria http client reports wrong protocol version (#11334)
  • Use daemon thread for scheduling in jmx-metrics BeanFinder (#11337)

🙇 Thank you

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

@123liuziming
@aaron-ai
@AlchemyDing
@ArtyomGabeev
@aschugunov
@breedx-splk
@cxjava
@dengliming
@ehsannas
@flamiau04
@hannahchan
@jaydeluca
@jeanbisutti
@jmadureira
@laurit
@LikeTheSalad
@lizongwu
@marychatte
@ofelbaum
@PeterF778
@philsttr
@steverao
@swar8080
@SylvainJuge
@trask
@v1v
@zackman0010
@zeitlinger

opentelemetry-java-instrumentation - Version 1.33.2

Published by github-actions[bot] 6 months ago

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

📈 Enhancements

  • Backport: elasticsearch-java 7.17.20 has native instrumentation (#11098)
  • Update the OpenTelemetry SDK version to 1.37.0 (#11118)
  • Backport: graphql-java-22.0 support (#11171)
opentelemetry-java-instrumentation - Version 2.3.0

Published by github-actions[bot] 6 months ago

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

  • Handle async requests in spring mvc library instrumentation (#10868)
  • Support statement sanitizer enabled flag in lettuce 5.1 instrumentation (#10922)
  • Remove AWS Active Tracing span linking (#10930)
  • Make spring boot honor the standard environment variables for maps (#11000)
  • Pulsar: use span links when receive telemetry is enabled (#10650)
  • Rename messaging.kafka.destination.partition to messaging.destination.partition.id (#11086)
  • Support service.instance.id in spring starter (#11071)
  • Add library instrumentation for RestTemplateBuilder (#11054)
  • Add cloud resource providers in spring starter (#11014)

🛠️ Bug fixes

  • Fix disabling virtual thread context propagation (#10881)
  • Fix virtual thread instrumentation for jdk 21 ea versions (#10887)
  • Fix spring kafka interceptor wrappers not delegating some methods (#10935)
  • AWS Lambda Runtime legacy internal handlers need to be ignored from being instrumented and so traced … (#10942)
  • Metro: ignore UnsupportedOperationException when updating span name (#10996)
  • Fix jedis plugin for 2.7.2 (#10982)
  • Fix idle in druid instrumentation (#11079)

🙇 Thank you

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

@123liuziming
@AlchemyDing
@breedx-splk
@cleverchuk
@damienburke
@huange7
@itsmykairos
@jack-berg
@jaydeluca
@jeanbisutti
@johnbley
@JonasKunz
@laurit
@Moscagus
@phillipdriver
@rapphil
@robberphex
@serkan-ozal
@srinivas-bode
@steverao
@SylvainJuge
@Synthenses
@trask
@tylerbenson
@wang007
@xiangtianyu
@zeitlinger

opentelemetry-java-instrumentation - Version 1.33.1

Published by github-actions[bot] 7 months ago

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

📈 Enhancements

  • Backport: Capture http.route for akka-http (#10777)
  • Update the OpenTelemetry SDK version to 1.36.0 (#10866)
opentelemetry-java-instrumentation - Version 2.2.0

Published by github-actions[bot] 7 months ago

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

  • Remove deprecated spring properties (#10454)

🌟 New javaagent instrumentation

  • Add cloud resource detectors in javaagent, but keep them disabled by default (#10754)
  • Add support for XXL-JOB (#10421)

📈 Enhancements

  • Don't fill network peer for cassandra SniEndPoint (#10573)
  • Spring boot starter: add service.version detection, improve service.name detection (#10457)
  • Always create a JMS consumer span (#10604)
  • Ability to disable the automatic Logback appender addition (#10629)
  • Allow excluding all methods of a class (#10753)
  • Preserve attribute type for logback key value pairs (#10781)
  • Add instrumentation for graphql 20 that does not use deprecated methods (#10779)
  • Capture http.route for pekko-http (#10799)
  • Normalize SQL IN(?, ?, ...) statements to "in(?)" to reduce cardinality of db.statement attribute (#10564)
  • Capture db.operation for CREATE/DROP/ALTER SQL statement (#10020)
  • Ignore AWS Lambda Runtime internal handlers (#10736)
  • Spring use SDK autoconfig (#10453)
  • Add manifest resource detector (#10621)
  • Add instrumentation for jetty 12 (#10575)
  • add host.id resource provider (#10627)

🛠️ Bug fixes

  • Don't fail spring application startup if sdk is disabled (#10602)
  • Fix shading aws propagator (#10669)
  • Disable http and rpc metrics when advice can not be applied (#10671)
  • Fix native tests (#10685)
  • Fix tomcat instrumentation when user includes wrong servlet api (#10757)
  • Override xray trace header instead of appending (#10766)
  • Fix spring boot starter failing without logback (#10802)
  • Fix spring kafka context leak when batch listener is retried (#10741)
  • Fix the logic to get container.id resource attribute (#10737)
  • Configure kafka metrics reporter as class (#10855)
  • Disable context propagation when virtual thread is switched to the carrier thread (#10854)

🙇 Thank you

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

@bbakerman
@bjrara
@breedx-splk
@cleverchuk
@crossoverJie
@dalbani
@dmarkwat
@freshchen
@gaeljw
@gdw2
@hatharom
@heyams
@jaydeluca
@jeanbisutti
@jkwatson-verta
@JonasKunz
@laurit
@liurui-1
@Moscagus
@paragniist
@pmitura-lucid
@qixiaogang
@samwright
@serkan-ozal
@steverao
@swar8080
@theletterf
@tkramarczyk-vgw
@trask
@tylerbenson
@wangzlei
@zeitlinger

opentelemetry-java-instrumentation - Version 1.33.0

Published by github-actions[bot] 8 months ago

This release targets the OpenTelemetry SDK 1.35.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 deprecated Jaeger exporter has been removed (#10524)

📈 Enhancements

  • Backport: Set route only on the SERVER span (#10580)
  • Update the OpenTelemetry SDK version to 1.35.0 (#10524)
opentelemetry-java-instrumentation - Version 2.1.0

Published by github-actions[bot] 8 months ago

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

  • Deprecated config properties have been removed in favor of the new names: - otel.instrumentation.kafka.client-propagation.enabled -> otel.instrumentation.kafka.producer-propagation.enabled - otel.instrumentation.netty.always-create-connect-span -> otel.instrumentation.netty.connection-telemetry.enabled - otel.instrumentation.http.capture-headers.client.request -> otel.instrumentation.http.client.capture-request-headers - otel.instrumentation.http.capture-headers.client.response -> otel.instrumentation.http.client.capture-response-headers - otel.instrumentation.http.capture-headers.server.request -> otel.instrumentation.http.server.capture-request-headers - otel.instrumentation.http.capture-headers.server.response -> otel.instrumentation.http.server.capture-response-headers - otel.instrumentation.http.client.emit-experimental-metrics -> otel.instrumentation.http.client.emit-experimental-telemetry - otel.instrumentation.http.server.emit-experimental-metrics -> otel.instrumentation.http.server.emit-experimental-telemetry (#10349)
  • The deprecated Jaeger exporter has been removed (#10241)
  • Actuator instrumentation has been disabled by default. You can enable using OTEL_INSTRUMENTATION_SPRING_BOOT_ACTUATOR_AUTOCONFIGURE_ENABLED=true or -Dotel.instrumentation.spring-boot-actuator-autoconfigure.enabled=true. (#10394)
  • Spring starter: removed support for the deprecated @io.opentelemetry.extension.annotations.WithSpan annotation. Use @io.opentelemetry.instrumentation.annotations.WithSpan annotation instead. (#10530)

🌟 New javaagent instrumentation

  • MyBatis framework instrumentation (#10258)
  • Finagle instrumentation (#10141)

🌟 New library instrumentation

  • Apache HttpClient 5 instrumentation (#10100)

📈 Enhancements

  • Spring starter: add distro version resource attribute (#10276)
  • Add context propagation for rector schedulers (#10311)
  • Spring starter: automatic addition of the OTel Logback appender (#10306)
  • Spring starter: add resource detectors (#10277)
  • Allow closing the observables for System and Process metrics gathered by OSHI (#10364)
  • Spring starter: Allow to configure the OTel Logback appender from system properties (#10355)
  • Spring starter: re-use sdk logic for configuring otlp exporters (#10292)
  • Spring starter: add SystemOutLogRecordExporter (#10420)
  • Spring starter: use duration parser of config properties (#10512)
  • Spring starter: support otel.propagators (#10408)
  • Set route only on the SERVER span (#10290)
  • Convert Apache HttpClient 4.3 library instrumentation to "low-level" HTTP instrumentation (#10253)

🛠️ Bug fixes

  • Fix log replay of the Log4j 2 appender (#10243)
  • Fix Netty addListener instrumentation (#10254)
  • Fix Calling shutdown() multiple times warning in spring starter (#10222)
  • Correctly fix NPE in servlet AsyncListener (#10250)
  • add @ConditionalOnMissingBean to LoggingMetricExporter (#10283)
  • Make Netty Instrumentation HttpServerRequestTracingHandler propagate "Channel Inactive" event to downstream according to parent contract (#10303)
  • Improve rediscala instrumentation to address sporadic test failure (#10301)
  • Undertow: restore attached context only when it is for different trace (#10336)
  • Reactor kafka wrapper delegates to wrong method (#10333)
  • Spring starter: add missing LoggingMetricExporterAutoConfiguration to spring factories (#10282)
  • Spring starter: Fix MapConverter does not get initialized if some exporters are turned off (#10346)
  • Update azure-core-tracing-opentelemetry version and fix double-collection for synchronous HTTP requests (#10350)
  • Allow OSGI dynamic import for io.opentelemetry package when matching (#10385)
  • Use direct peer address in client.address when X-Forwarded-For is not present (#10370)
  • Netty: don't expose tracing handler in handlers map (#10410)
  • Wrap request to avoid modifying attributes of the original request (#10389)
  • Fix JarAnalyzer warnings on Payara (#10458)
  • Return wrapped connection from Statement.getConnection() (#10554)
  • Spring starter: Fix otel.propagators (#10559)
  • Populate server.address and server.port in Cassandra instrumentation (#10357)

🧰 Tooling

  • Allow multiple invokedynamic InstrumentationModules to share classloaders (#10015)

🙇 Thank you

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

@AlchemyDing
@breedx-splk
@cartersocha
@cbeneke
@codeboten
@dmarkwat
@elbiocaetano
@hadesy
@heyams
@jack-berg
@jackshirazi
@jakub-pomykala
@jaydeluca
@jeanbisutti
@JonasKunz
@jonasrutishauser
@KayWu
@kenfinnigan
@laurit
@lichenglin
@lmolkova
@lukny
@manikmagar
@mmorel-35
@pellmont
@Periecle
@pmitura-lucid
@rgrochowicz
@rickardoberg
@Roiocam
@rvenancio
@shaykeren
@steverao
@SylvainJuge
@theletterf
@trask
@zeitlinger

opentelemetry-java-instrumentation - Version 1.32.1

Published by github-actions[bot] 9 months ago

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)
opentelemetry-java-instrumentation - Version 2.0.0

Published by github-actions[bot] 9 months ago

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

opentelemetry-java-instrumentation - Version 1.32.0

Published by github-actions[bot] 11 months ago

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

opentelemetry-java-instrumentation - Version 1.31.0

Published by github-actions[bot] about 1 year ago

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

opentelemetry-java-instrumentation - Version 1.30.0

Published by github-actions[bot] about 1 year ago

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

opentelemetry-java-instrumentation - Version 1.29.0

Published by github-actions[bot] about 1 year ago

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