open-telemetry/opentelemetry-java-instrumentation (io.opentelemetry.javaagent:opentelemetry-javaagent)
### [`v2.8.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-280-2024-09-13)
[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.7.0...v2.8.0)
##### 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](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12084),
[#12244](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12244))
##### 📈 Enhancements
- Update Pulsar instrumentation to work with next Pulsar release
([#11648](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11648))
- Capture `network.peer.address` in OkHttp 3.0 instrumentation
([#12012](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12012))
- Add support for CXF 4.0 JAX-WS
([#12077](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12077))
- Add rules for capturing Apache Camel metrics exposed by JMX MBeans
([#11901](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11901))
- Make RocketMQ span status extractor delegate to the default extractor
([#12183](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12183))
- Bridge log body any value
([#12204](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12204))
- Add declarative config support for resource providers
([#12144](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12144))
##### 🛠️ Bug fixes
- Fix Javaagent doesn't work with `java.net.spi.InetAddressResolverProvider`
([#11987](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11987))
- Fix Oracle UCP 11 metrics not emitted
([#12052](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12052))
- Fix wrong database info captured while using Apache ShardingSphere
([#12066](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12066))
- Fix RabbitMQ NullPointerException
([#12109](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12109))
- Fix possible `NullPointerException` in Play instrumentation
([#12121](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12121))
- Fix error span status for successful requests in Ktor
([#12161](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12161))
- Make OpenTelemetryHandlerMappingFilter handle exceptions from `ServletRequestPathUtils.parseAndCache()`
([#12221](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12221))
- Fix tracing CoroutineCrudRepository.findById
([#12131](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12131))
- Fix capturing context in log4j library instrumentation with async logger
([#12176](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12176))
### [`v2.7.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-270-2024-08-16)
[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.6.0...v2.7.0)
##### 📈 Enhancements
- Add span baggage processor
([#11697](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11697))
- Improve tomcat version detection
([#11936](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11936))
- Improve akka route handling with java dsl
([#11926](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11926))
- Ignore Alibaba fastjson ASMClassLoader
([#11954](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11954))
- Use `aws-lambda-java-serialization` library, which is available by default, while deserializing input and serializing output
([#11868](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11868))
- Logback appender: map timestamp in nanoseconds if possible
([#11974](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11974))
- Save ILoggingEvent.getArgumentArray() arguments from Logback
([#11865](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11865))
- Update Java 17-based metrics to stable semconv
([#11914](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11914))
- Add Pulsar Consumer metrics
([#11891](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11891))
##### 🛠️ Bug fixes
- Fix missing throw statement in RestClientWrapper
([#11893](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11893))
- Fix ClickHouse tracing when database name not included in connection string
([#11852](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11852))
- Fix class cast exception, noop meter does not implement incubating API
([#11934](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11934))
- Closing a kafka producer/consumer should not disable metrics from other consumers/producers
([#11975](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11975))
- Fix ending span in Ktor plugin
([#11726](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11726))
- Fix netty memory leak
([#12003](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12003))
### [`v2.6.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-260-2024-07-17)
[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.5.0...v2.6.0)
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.size` → `http.server.request.body.size`,
- `http.server.response.size` → `http.server.response.body.size`
##### 🌟 New javaagent instrumentation
- Javalin
([#11587](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11587))
- ClickHouse
([#11660](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11660))
##### 📈 Enhancements
- Support HTTP client instrumentation configuration in Spring starter
([#11620](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11620))
- Influxdb client: don't fill `db.statement` for create/drop database and write operations
([#11557](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11557))
- Support `otel.instrumentation.common.default-enabled` in the Spring starter
([#11746](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11746))
- Support Jetty HTTP client 12
([#11519](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11519))
- Add Pulsar `messaging.producer.duration` metric
([#11591](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11591))
- Improve instrumentation suppression behavior
([#11640](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11640))
- Propagate OpenTelemetry context through custom AWS client context for Lambda direct calls
([#11675](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11675))
- Spring Native support for `@WithSpan`
([#11757](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11757))
- Support HTTP server instrumentation config properties in the Spring starter
([#11667](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11667))
##### 🛠️ Bug fixes
- Fix `http.server.active_requests` metric with async requests
([#11638](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11638))
### [`v2.5.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-250-2024-06-17)
[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.4.0...v2.5.0)
##### 📈 Enhancements
- Add support for Informix connection string parsing in JDBC instrumentation
([#11542](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11542))
- Generate an SBOM for the javaagent artifact
([#11075](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11075))
- Extract sql operation even when the sanitizer is disabled
([#11472](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11472))
- Improve security manager support
([#11466](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11466))
- Generate Log4j2Plugin.dat for OpenTelemetryAppender
([#11503](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11503))
- Stop kotlin coroutine dispatcher from propagating context
([#11500](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11500))
- Handle Vert.x sub routes
([#11535](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11535))
- Undertow: run response customizer on all ServerConnection implementations
([#11539](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11539))
- Allow configuring MDC key names for trace_id, span_id, trace_flags
([#11329](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11329))
- Apply async end strategy to all kotlin coroutine flows
([#11583](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11583))
##### 🛠️ Bug fixes
- Fix container.id issue in some crio scenarios
([#11382](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11382))
- Fix Finagle http client context propagation
([#11400](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11400))
- Fix sporadically failing finagle test
([#11441](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11441))
- Fix request header capture corrupting tomcat request
([#11469](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11469))
- Fix Ktor server instrumentation when Ktor client library is not present
([#11454](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11454))
- Fix gRPC instrumentation adding duplicates to metadata instead of overwriting
([#11308](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11308))
- Avoid NullPointerException when JMS destination is not available
([#11570](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11570))
- Fix Spring Kafka instrumentation closing the trace too early
([#11471](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11471))
### [`v2.4.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-240-2024-05-18)
[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.3.0...v2.4.0)
##### 🌟 New javaagent instrumentation
- InfluxDB
([#10850](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10850))
- Armeria gRPC
([#11351](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11351))
- Apache ShenYu
([#11260](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11260))
##### 📈 Enhancements
- Instrument ConnectionSource in Akka/Pekko HTTP Servers
([#11103](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11103))
- Use constant span name when using Spring AMQP AnonymousQueues
([#11141](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11141))
- Add support for `RestClient` in Spring starter
([#11038](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11038))
- Add support for WebFlux server in Spring starter
([#11185](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11185))
- Add async operation end strategy for Kotlin coroutines flow
([#11168](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11168))
- Add automatic JDBC instrumentation to the Spring starter
([#11258](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11258))
- Add `StructuredTaskScope` instrumentation
([#11202](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11202))
- Allow reading OTel context from reactor ContextView
([#11235](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11235))
- Add spring starter r2dbc support
([#11221](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11221))
- Enable instrumentation of Spring EJB clients
([#11104](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11104))
- Support `otel.instrumentation.kafka.experimental-span-attributes` in Spring starter
([#11263](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11263))
- Remove incubating semconv dependency from library instrumentation
([#11324](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11324))
- Add extension functions for Ktor plugins
([#10963](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10963))
- Add dedicated flag for R2DBC statement sanitizer
([#11384](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11384))
- Allow library instrumentations to override span name
([#11355](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11355))
- Don't sanitize PostgreSQL parameter markers
([#11388](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11388))
- Make statement sanitizer configurable for Spring Boot
([#11350](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11350))
##### 🛠️ Bug fixes
- Fix GraphQL instrumentation to work with latest version
([#11142](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11142))
- Fix jmx-metrics on WildFly
([#11151](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11151))
- End gRPC server span in onComplete instead of close
([#11170](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11170))
- Fix a bug in undertow instrumentation related to HTTP/2
([#11361](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11361))
- Armeria http client reports wrong protocol version
([#11334](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11334))
- Use daemon thread for scheduling in jmx-metrics BeanFinder
([#11337](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11337))
### [`v2.3.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-230-2024-04-12)
[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.2.0...v2.3.0)
##### 📈 Enhancements
- Handle async requests in spring mvc library instrumentation
([#10868](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10868))
- Support statement sanitizer enabled flag in lettuce 5.1 instrumentation
([#10922](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10922))
- Remove AWS Active Tracing span linking
([#10930](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10930))
- Make spring boot honor the standard environment variables for maps
([#11000](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11000))
- Pulsar: use span links when receive telemetry is enabled
([#10650](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10650))
- Rename `messaging.kafka.destination.partition` to `messaging.destination.partition.id`
([#11086](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11086))
- Support `service.instance.id` in spring starter
([#11071](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11071))
- Add library instrumentation for RestTemplateBuilder
([#11054](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11054))
- Add cloud resource providers in spring starter
([#11014](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11014))
##### 🛠️ Bug fixes
- Fix disabling virtual thread context propagation
([#10881](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10881))
- Fix virtual thread instrumentation for jdk 21 ea versions
([#10887](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10887))
- Fix spring kafka interceptor wrappers not delegating some methods
([#10935](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10935))
- AWS Lambda Runtime legacy internal handlers need to be ignored from being instrumented and so traced …
([#10942](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10942))
- Metro: ignore UnsupportedOperationException when updating span name
([#10996](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10996))
- Fix jedis plugin for 2.7.2
([#10982](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10982))
- Fix idle in druid instrumentation
([#11079](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11079))
### [`v2.2.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-220-2024-03-14)
[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.1.0...v2.2.0)
##### Migration notes
- Remove deprecated spring properties
([#10454](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10454))
##### 🌟 New javaagent instrumentation
- Add cloud resource detectors in javaagent, but keep them disabled by default
([#10754](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10754))
- Add support for XXL-JOB
([#10421](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10421))
##### 📈 Enhancements
- Don't fill network peer for cassandra SniEndPoint
([#10573](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10573))
- Spring boot starter: add service.version detection, improve service.name detection
([#10457](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10457))
- Always create a JMS consumer span
([#10604](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10604))
- Ability to disable the automatic Logback appender addition
([#10629](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10629))
- Allow excluding all methods of a class
([#10753](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10753))
- Preserve attribute type for logback key value pairs
([#10781](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10781))
- Add instrumentation for graphql 20 that does not use deprecated methods
([#10779](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10779))
- Capture http.route for pekko-http
([#10799](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10799))
- Normalize SQL IN(?, ?, ...) statements to "in(?)" to reduce cardinality of db.statement attribute
([#10564](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10564))
- Capture `db.operation` for CREATE/DROP/ALTER SQL statement
([#10020](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10020))
- Ignore AWS Lambda Runtime internal handlers
([#10736](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10736))
- Spring use SDK autoconfig
([#10453](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10453))
- Add manifest resource detector
([#10621](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10621))
- Add instrumentation for jetty 12
([#10575](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10575))
- add host.id resource provider
([#10627](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10627))
- Spring starter includes annotation dependency
([#10613](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10613))
##### 🛠️ Bug fixes
- Don't fail spring application startup if sdk is disabled
([#10602](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10602))
- Fix shading aws propagator
([#10669](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10669))
- Disable http and rpc metrics when advice can not be applied
([#10671](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10671))
- Fix native tests
([#10685](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10685))
- Fix tomcat instrumentation when user includes wrong servlet api
([#10757](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10757))
- Override xray trace header instead of appending
([#10766](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10766))
- Fix spring boot starter failing without logback
([#10802](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10802))
- Fix spring kafka context leak when batch listener is retried
([#10741](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10741))
- Fix the logic to get container.id resource attribute
([#10737](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10737))
- Configure kafka metrics reporter as class
([#10855](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10855))
- Disable context propagation when virtual thread is switched to the carrier thread
([#10854](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10854))
### [`v2.1.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-210-2024-02-16)
[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.0.0...v2.1.0)
##### 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](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10349))
- The deprecated Jaeger exporter has been removed
([#10241](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/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](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10394))
- Spring starter: removed support for the deprecated [@io](https://redirect.github.com/io).opentelemetry.extension.annotations.WithSpan
annotation. Use [@io](https://redirect.github.com/io).opentelemetry.instrumentation.annotations.WithSpan annotation instead.
([#10530](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10530))
##### 🌟 New javaagent instrumentation
- MyBatis framework instrumentation
([#10258](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10258))
- Finagle instrumentation
([#10141](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10141))
##### 🌟 New library instrumentation
- Apache HttpClient 5 instrumentation
([#10100](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10100))
##### 📈 Enhancements
- Spring starter: add distro version resource attribute
([#10276](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10276))
- Add context propagation for rector schedulers
([#10311](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10311))
- Spring starter: automatic addition of the OTel Logback appender
([#10306](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10306))
- Spring starter: add resource detectors
([#10277](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10277))
- Allow closing the observables for System and Process metrics gathered by OSHI
([#10364](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10364))
- Spring starter: Allow to configure the OTel Logback appender from system properties
([#10355](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10355))
- Spring starter: re-use sdk logic for configuring otlp exporters
([#10292](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10292))
- All available spring starter properties (including the new properties) can be found
[here](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/v2.1.0/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json)
- You can also use auto-completion in your IDE to see the available properties in
`application.properties` or `application.yml`
- Spring starter: add SystemOutLogRecordExporter
([#10420](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10420))
- Spring starter: use duration parser of config properties
([#10512](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10512))
- Spring starter: support `otel.propagators`
([#10408](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10408))
- Set route only on the SERVER span
([#10290](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10290))
- Convert Apache HttpClient 4.3 library instrumentation to "low-level" HTTP instrumentation
([#10253](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10253))
##### 🛠️ Bug fixes
- Fix log replay of the Log4j 2 appender
([#10243](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10243))
- Fix Netty addListener instrumentation
([#10254](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10254))
- Fix Calling shutdown() multiple times warning in spring starter
([#10222](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10222))
- Correctly fix NPE in servlet AsyncListener
([#10250](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10250))
- add [@ConditionalOnMissingBean](https://redirect.github.com/ConditionalOnMissingBean) to LoggingMetricExporter
([#10283](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10283))
- Make Netty Instrumentation HttpServerRequestTracingHandler propagate "Channel Inactive" event
to downstream according to parent contract
([#10303](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10303))
- Improve rediscala instrumentation to address sporadic test failure
([#10301](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10301))
- Undertow: restore attached context only when it is for different trace
([#10336](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10336))
- Reactor kafka wrapper delegates to wrong method
([#10333](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10333))
- Spring starter: add missing LoggingMetricExporterAutoConfiguration to spring factories
([#10282](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10282))
- Spring starter: Fix MapConverter does not get initialized if some exporters are turned off
([#10346](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10346))
- Update azure-core-tracing-opentelemetry version and fix double-collection for synchronous
HTTP requests
([#10350](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10350))
- Allow OSGI dynamic import for `io.opentelemetry` package when matching
([#10385](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10385))
- Use direct peer address in `client.address` when X-Forwarded-For is not present
([#10370](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10370))
- Netty: don't expose tracing handler in handlers map
([#10410](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10410))
- Wrap request to avoid modifying attributes of the original request
([#10389](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10389))
- Fix JarAnalyzer warnings on Payara
([#10458](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10458))
- Return wrapped connection from `Statement.getConnection()`
([#10554](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10554))
- Spring starter: Fix `otel.propagators`
([#10559](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10559))
- Populate `server.address` and `server.port` in Cassandra instrumentation
([#10357](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10357))
##### 🧰 Tooling
- Allow multiple invokedynamic InstrumentationModules to share classloaders
([#10015](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10015))
### [`v2.0.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-200-2024-01-12)
[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v1.33.6...v2.0.0)
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](https://redirect.github.com/open-telemetry/opentelemetry-specification/blob/v1.28.0/specification/protocol/exporter.md#specify-protocol).
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](https://redirect.github.com/open-telemetry/semantic-conventions/blob/main/docs/http/migration-guide.md#summary-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](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9838))
##### 📈 Enhancements
- Reduce reactor stack trace depth
([#9923](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9923))
- Implement `error.type` in `spring-webflux` and `reactor-netty` instrumentations
([#9967](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9967))
- Bridge metric advice in OpenTelemetry API 1.32
([#10026](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10026))
- Capture http.route for akka-http
([#10039](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10039))
- Rename `telemetry.auto.version` to `telemetry.distro.version` and add `telemetry.distro.name`
([#9065](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9065))
- Implement forEach support for aws sqs tracing list
([#10062](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10062))
- Add http client response attributes to aws sqs process spans
([#10074](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10074))
- Add support for `OTEL_RESOURCE_ATTRIBUTES`, `OTEL_SERVICE_NAME`, `OTEL_EXPORTER_OTLP_HEADERS`,
and `OTEL_EXPORTER_OTLP_PROTOCOL` for spring boot starter
([#9950](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9950))
- Add elasticsearch-api-client as instrumentation name to elasticsearch-api-client-7.16
([#10102](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10102))
- Add instrumentation for druid connection pool
([#9935](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9935))
- Remove deprecated rocketmq setting
([#10125](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10125))
- JMX metrics for Tomcat with 'Tomcat' JMX domain
([#10115](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10115))
- Capture the SNS topic ARN under the 'messaging.destination.name' span attribute.
([#10096](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10096))
- Add network attributes to rabbitmq process spans
([#10210](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10210))
- Add UserExcludedClassloadersConfigurer
([#10134](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10134))
- Apply both server attributes & network attributes to Lettuce 5.1
([#10197](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10197))
##### 🛠️ Bug fixes
- Fix aws propagator presence check in spring boot starter
([#9924](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9924))
- Capture authority from apache httpclient request when HttpHost is null
([#9990](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9990))
- Fix NoSuchBeanDefinitionException with the JDBC driver configuration in spring boot starter
([#9978](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9978))
- Null check for nullable response object in aws sdk 1.1 instrumentation
([#10029](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10029))
- Fix using opentelemetry-spring-boot with Java 8 and Gradle
([#10066](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10066))
- Fix transforming Java record types
([#10052](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10052))
- Fix warnings from the spring boot starter
([#10086](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10086))
- Resolve `ParameterNameDiscoverer` Bean Conflict in `spring-boot-autoconfigure`
([#10105](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10105))
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
1.33.6
->2.8.0
Release Notes
open-telemetry/opentelemetry-java-instrumentation (io.opentelemetry.javaagent:opentelemetry-javaagent)
### [`v2.8.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-280-2024-09-13) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.7.0...v2.8.0) ##### 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](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12084), [#12244](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12244)) ##### 📈 Enhancements - Update Pulsar instrumentation to work with next Pulsar release ([#11648](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11648)) - Capture `network.peer.address` in OkHttp 3.0 instrumentation ([#12012](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12012)) - Add support for CXF 4.0 JAX-WS ([#12077](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12077)) - Add rules for capturing Apache Camel metrics exposed by JMX MBeans ([#11901](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11901)) - Make RocketMQ span status extractor delegate to the default extractor ([#12183](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12183)) - Bridge log body any value ([#12204](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12204)) - Add declarative config support for resource providers ([#12144](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12144)) ##### 🛠️ Bug fixes - Fix Javaagent doesn't work with `java.net.spi.InetAddressResolverProvider` ([#11987](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11987)) - Fix Oracle UCP 11 metrics not emitted ([#12052](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12052)) - Fix wrong database info captured while using Apache ShardingSphere ([#12066](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12066)) - Fix RabbitMQ NullPointerException ([#12109](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12109)) - Fix possible `NullPointerException` in Play instrumentation ([#12121](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12121)) - Fix error span status for successful requests in Ktor ([#12161](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12161)) - Make OpenTelemetryHandlerMappingFilter handle exceptions from `ServletRequestPathUtils.parseAndCache()` ([#12221](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12221)) - Fix tracing CoroutineCrudRepository.findById ([#12131](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12131)) - Fix capturing context in log4j library instrumentation with async logger ([#12176](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12176)) ### [`v2.7.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-270-2024-08-16) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.6.0...v2.7.0) ##### 📈 Enhancements - Add span baggage processor ([#11697](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11697)) - Improve tomcat version detection ([#11936](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11936)) - Improve akka route handling with java dsl ([#11926](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11926)) - Ignore Alibaba fastjson ASMClassLoader ([#11954](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11954)) - Use `aws-lambda-java-serialization` library, which is available by default, while deserializing input and serializing output ([#11868](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11868)) - Logback appender: map timestamp in nanoseconds if possible ([#11974](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11974)) - Save ILoggingEvent.getArgumentArray() arguments from Logback ([#11865](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11865)) - Update Java 17-based metrics to stable semconv ([#11914](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11914)) - Add Pulsar Consumer metrics ([#11891](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11891)) ##### 🛠️ Bug fixes - Fix missing throw statement in RestClientWrapper ([#11893](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11893)) - Fix ClickHouse tracing when database name not included in connection string ([#11852](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11852)) - Fix class cast exception, noop meter does not implement incubating API ([#11934](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11934)) - Closing a kafka producer/consumer should not disable metrics from other consumers/producers ([#11975](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11975)) - Fix ending span in Ktor plugin ([#11726](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11726)) - Fix netty memory leak ([#12003](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12003)) ### [`v2.6.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-260-2024-07-17) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.5.0...v2.6.0) 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.size` → `http.server.request.body.size`, - `http.server.response.size` → `http.server.response.body.size` ##### 🌟 New javaagent instrumentation - Javalin ([#11587](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11587)) - ClickHouse ([#11660](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11660)) ##### 📈 Enhancements - Support HTTP client instrumentation configuration in Spring starter ([#11620](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11620)) - Influxdb client: don't fill `db.statement` for create/drop database and write operations ([#11557](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11557)) - Support `otel.instrumentation.common.default-enabled` in the Spring starter ([#11746](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11746)) - Support Jetty HTTP client 12 ([#11519](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11519)) - Add Pulsar `messaging.producer.duration` metric ([#11591](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11591)) - Improve instrumentation suppression behavior ([#11640](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11640)) - Propagate OpenTelemetry context through custom AWS client context for Lambda direct calls ([#11675](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11675)) - Spring Native support for `@WithSpan` ([#11757](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11757)) - Support HTTP server instrumentation config properties in the Spring starter ([#11667](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11667)) ##### 🛠️ Bug fixes - Fix `http.server.active_requests` metric with async requests ([#11638](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11638)) ### [`v2.5.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-250-2024-06-17) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.4.0...v2.5.0) ##### 📈 Enhancements - Add support for Informix connection string parsing in JDBC instrumentation ([#11542](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11542)) - Generate an SBOM for the javaagent artifact ([#11075](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11075)) - Extract sql operation even when the sanitizer is disabled ([#11472](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11472)) - Improve security manager support ([#11466](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11466)) - Generate Log4j2Plugin.dat for OpenTelemetryAppender ([#11503](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11503)) - Stop kotlin coroutine dispatcher from propagating context ([#11500](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11500)) - Handle Vert.x sub routes ([#11535](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11535)) - Undertow: run response customizer on all ServerConnection implementations ([#11539](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11539)) - Allow configuring MDC key names for trace_id, span_id, trace_flags ([#11329](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11329)) - Apply async end strategy to all kotlin coroutine flows ([#11583](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11583)) ##### 🛠️ Bug fixes - Fix container.id issue in some crio scenarios ([#11382](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11382)) - Fix Finagle http client context propagation ([#11400](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11400)) - Fix sporadically failing finagle test ([#11441](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11441)) - Fix request header capture corrupting tomcat request ([#11469](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11469)) - Fix Ktor server instrumentation when Ktor client library is not present ([#11454](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11454)) - Fix gRPC instrumentation adding duplicates to metadata instead of overwriting ([#11308](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11308)) - Avoid NullPointerException when JMS destination is not available ([#11570](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11570)) - Fix Spring Kafka instrumentation closing the trace too early ([#11471](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11471)) ### [`v2.4.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-240-2024-05-18) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.3.0...v2.4.0) ##### 🌟 New javaagent instrumentation - InfluxDB ([#10850](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10850)) - Armeria gRPC ([#11351](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11351)) - Apache ShenYu ([#11260](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11260)) ##### 📈 Enhancements - Instrument ConnectionSource in Akka/Pekko HTTP Servers ([#11103](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11103)) - Use constant span name when using Spring AMQP AnonymousQueues ([#11141](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11141)) - Add support for `RestClient` in Spring starter ([#11038](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11038)) - Add support for WebFlux server in Spring starter ([#11185](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11185)) - Add async operation end strategy for Kotlin coroutines flow ([#11168](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11168)) - Add automatic JDBC instrumentation to the Spring starter ([#11258](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11258)) - Add `StructuredTaskScope` instrumentation ([#11202](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11202)) - Allow reading OTel context from reactor ContextView ([#11235](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11235)) - Add spring starter r2dbc support ([#11221](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11221)) - Enable instrumentation of Spring EJB clients ([#11104](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11104)) - Support `otel.instrumentation.kafka.experimental-span-attributes` in Spring starter ([#11263](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11263)) - Remove incubating semconv dependency from library instrumentation ([#11324](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11324)) - Add extension functions for Ktor plugins ([#10963](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10963)) - Add dedicated flag for R2DBC statement sanitizer ([#11384](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11384)) - Allow library instrumentations to override span name ([#11355](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11355)) - Don't sanitize PostgreSQL parameter markers ([#11388](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11388)) - Make statement sanitizer configurable for Spring Boot ([#11350](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11350)) ##### 🛠️ Bug fixes - Fix GraphQL instrumentation to work with latest version ([#11142](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11142)) - Fix jmx-metrics on WildFly ([#11151](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11151)) - End gRPC server span in onComplete instead of close ([#11170](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11170)) - Fix a bug in undertow instrumentation related to HTTP/2 ([#11361](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11361)) - Armeria http client reports wrong protocol version ([#11334](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11334)) - Use daemon thread for scheduling in jmx-metrics BeanFinder ([#11337](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11337)) ### [`v2.3.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-230-2024-04-12) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.2.0...v2.3.0) ##### 📈 Enhancements - Handle async requests in spring mvc library instrumentation ([#10868](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10868)) - Support statement sanitizer enabled flag in lettuce 5.1 instrumentation ([#10922](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10922)) - Remove AWS Active Tracing span linking ([#10930](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10930)) - Make spring boot honor the standard environment variables for maps ([#11000](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11000)) - Pulsar: use span links when receive telemetry is enabled ([#10650](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10650)) - Rename `messaging.kafka.destination.partition` to `messaging.destination.partition.id` ([#11086](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11086)) - Support `service.instance.id` in spring starter ([#11071](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11071)) - Add library instrumentation for RestTemplateBuilder ([#11054](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11054)) - Add cloud resource providers in spring starter ([#11014](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11014)) ##### 🛠️ Bug fixes - Fix disabling virtual thread context propagation ([#10881](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10881)) - Fix virtual thread instrumentation for jdk 21 ea versions ([#10887](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10887)) - Fix spring kafka interceptor wrappers not delegating some methods ([#10935](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10935)) - AWS Lambda Runtime legacy internal handlers need to be ignored from being instrumented and so traced … ([#10942](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10942)) - Metro: ignore UnsupportedOperationException when updating span name ([#10996](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10996)) - Fix jedis plugin for 2.7.2 ([#10982](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10982)) - Fix idle in druid instrumentation ([#11079](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11079)) ### [`v2.2.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-220-2024-03-14) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.1.0...v2.2.0) ##### Migration notes - Remove deprecated spring properties ([#10454](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10454)) ##### 🌟 New javaagent instrumentation - Add cloud resource detectors in javaagent, but keep them disabled by default ([#10754](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10754)) - Add support for XXL-JOB ([#10421](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10421)) ##### 📈 Enhancements - Don't fill network peer for cassandra SniEndPoint ([#10573](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10573)) - Spring boot starter: add service.version detection, improve service.name detection ([#10457](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10457)) - Always create a JMS consumer span ([#10604](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10604)) - Ability to disable the automatic Logback appender addition ([#10629](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10629)) - Allow excluding all methods of a class ([#10753](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10753)) - Preserve attribute type for logback key value pairs ([#10781](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10781)) - Add instrumentation for graphql 20 that does not use deprecated methods ([#10779](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10779)) - Capture http.route for pekko-http ([#10799](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10799)) - Normalize SQL IN(?, ?, ...) statements to "in(?)" to reduce cardinality of db.statement attribute ([#10564](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10564)) - Capture `db.operation` for CREATE/DROP/ALTER SQL statement ([#10020](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10020)) - Ignore AWS Lambda Runtime internal handlers ([#10736](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10736)) - Spring use SDK autoconfig ([#10453](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10453)) - Add manifest resource detector ([#10621](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10621)) - Add instrumentation for jetty 12 ([#10575](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10575)) - add host.id resource provider ([#10627](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10627)) - Spring starter includes annotation dependency ([#10613](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10613)) ##### 🛠️ Bug fixes - Don't fail spring application startup if sdk is disabled ([#10602](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10602)) - Fix shading aws propagator ([#10669](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10669)) - Disable http and rpc metrics when advice can not be applied ([#10671](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10671)) - Fix native tests ([#10685](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10685)) - Fix tomcat instrumentation when user includes wrong servlet api ([#10757](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10757)) - Override xray trace header instead of appending ([#10766](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10766)) - Fix spring boot starter failing without logback ([#10802](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10802)) - Fix spring kafka context leak when batch listener is retried ([#10741](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10741)) - Fix the logic to get container.id resource attribute ([#10737](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10737)) - Configure kafka metrics reporter as class ([#10855](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10855)) - Disable context propagation when virtual thread is switched to the carrier thread ([#10854](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10854)) ### [`v2.1.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-210-2024-02-16) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.0.0...v2.1.0) ##### 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](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10349)) - The deprecated Jaeger exporter has been removed ([#10241](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/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](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10394)) - Spring starter: removed support for the deprecated [@io](https://redirect.github.com/io).opentelemetry.extension.annotations.WithSpan annotation. Use [@io](https://redirect.github.com/io).opentelemetry.instrumentation.annotations.WithSpan annotation instead. ([#10530](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10530)) ##### 🌟 New javaagent instrumentation - MyBatis framework instrumentation ([#10258](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10258)) - Finagle instrumentation ([#10141](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10141)) ##### 🌟 New library instrumentation - Apache HttpClient 5 instrumentation ([#10100](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10100)) ##### 📈 Enhancements - Spring starter: add distro version resource attribute ([#10276](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10276)) - Add context propagation for rector schedulers ([#10311](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10311)) - Spring starter: automatic addition of the OTel Logback appender ([#10306](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10306)) - Spring starter: add resource detectors ([#10277](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10277)) - Allow closing the observables for System and Process metrics gathered by OSHI ([#10364](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10364)) - Spring starter: Allow to configure the OTel Logback appender from system properties ([#10355](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10355)) - Spring starter: re-use sdk logic for configuring otlp exporters ([#10292](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10292)) - All available spring starter properties (including the new properties) can be found [here](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/v2.1.0/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json) - You can also use auto-completion in your IDE to see the available properties in `application.properties` or `application.yml` - Spring starter: add SystemOutLogRecordExporter ([#10420](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10420)) - Spring starter: use duration parser of config properties ([#10512](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10512)) - Spring starter: support `otel.propagators` ([#10408](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10408)) - Set route only on the SERVER span ([#10290](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10290)) - Convert Apache HttpClient 4.3 library instrumentation to "low-level" HTTP instrumentation ([#10253](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10253)) ##### 🛠️ Bug fixes - Fix log replay of the Log4j 2 appender ([#10243](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10243)) - Fix Netty addListener instrumentation ([#10254](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10254)) - Fix Calling shutdown() multiple times warning in spring starter ([#10222](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10222)) - Correctly fix NPE in servlet AsyncListener ([#10250](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10250)) - add [@ConditionalOnMissingBean](https://redirect.github.com/ConditionalOnMissingBean) to LoggingMetricExporter ([#10283](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10283)) - Make Netty Instrumentation HttpServerRequestTracingHandler propagate "Channel Inactive" event to downstream according to parent contract ([#10303](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10303)) - Improve rediscala instrumentation to address sporadic test failure ([#10301](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10301)) - Undertow: restore attached context only when it is for different trace ([#10336](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10336)) - Reactor kafka wrapper delegates to wrong method ([#10333](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10333)) - Spring starter: add missing LoggingMetricExporterAutoConfiguration to spring factories ([#10282](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10282)) - Spring starter: Fix MapConverter does not get initialized if some exporters are turned off ([#10346](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10346)) - Update azure-core-tracing-opentelemetry version and fix double-collection for synchronous HTTP requests ([#10350](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10350)) - Allow OSGI dynamic import for `io.opentelemetry` package when matching ([#10385](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10385)) - Use direct peer address in `client.address` when X-Forwarded-For is not present ([#10370](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10370)) - Netty: don't expose tracing handler in handlers map ([#10410](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10410)) - Wrap request to avoid modifying attributes of the original request ([#10389](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10389)) - Fix JarAnalyzer warnings on Payara ([#10458](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10458)) - Return wrapped connection from `Statement.getConnection()` ([#10554](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10554)) - Spring starter: Fix `otel.propagators` ([#10559](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10559)) - Populate `server.address` and `server.port` in Cassandra instrumentation ([#10357](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10357)) ##### 🧰 Tooling - Allow multiple invokedynamic InstrumentationModules to share classloaders ([#10015](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10015)) ### [`v2.0.0`](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-200-2024-01-12) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v1.33.6...v2.0.0) 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](https://redirect.github.com/open-telemetry/opentelemetry-specification/blob/v1.28.0/specification/protocol/exporter.md#specify-protocol). 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](https://redirect.github.com/open-telemetry/semantic-conventions/blob/main/docs/http/migration-guide.md#summary-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](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9838)) ##### 📈 Enhancements - Reduce reactor stack trace depth ([#9923](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9923)) - Implement `error.type` in `spring-webflux` and `reactor-netty` instrumentations ([#9967](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9967)) - Bridge metric advice in OpenTelemetry API 1.32 ([#10026](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10026)) - Capture http.route for akka-http ([#10039](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10039)) - Rename `telemetry.auto.version` to `telemetry.distro.version` and add `telemetry.distro.name` ([#9065](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9065)) - Implement forEach support for aws sqs tracing list ([#10062](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10062)) - Add http client response attributes to aws sqs process spans ([#10074](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10074)) - Add support for `OTEL_RESOURCE_ATTRIBUTES`, `OTEL_SERVICE_NAME`, `OTEL_EXPORTER_OTLP_HEADERS`, and `OTEL_EXPORTER_OTLP_PROTOCOL` for spring boot starter ([#9950](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9950)) - Add elasticsearch-api-client as instrumentation name to elasticsearch-api-client-7.16 ([#10102](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10102)) - Add instrumentation for druid connection pool ([#9935](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9935)) - Remove deprecated rocketmq setting ([#10125](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10125)) - JMX metrics for Tomcat with 'Tomcat' JMX domain ([#10115](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10115)) - Capture the SNS topic ARN under the 'messaging.destination.name' span attribute. ([#10096](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10096)) - Add network attributes to rabbitmq process spans ([#10210](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10210)) - Add UserExcludedClassloadersConfigurer ([#10134](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10134)) - Apply both server attributes & network attributes to Lettuce 5.1 ([#10197](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10197)) ##### 🛠️ Bug fixes - Fix aws propagator presence check in spring boot starter ([#9924](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9924)) - Capture authority from apache httpclient request when HttpHost is null ([#9990](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9990)) - Fix NoSuchBeanDefinitionException with the JDBC driver configuration in spring boot starter ([#9978](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9978)) - Null check for nullable response object in aws sdk 1.1 instrumentation ([#10029](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10029)) - Fix using opentelemetry-spring-boot with Java 8 and Gradle ([#10066](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10066)) - Fix transforming Java record types ([#10052](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10052)) - Fix warnings from the spring boot starter ([#10086](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10086)) - Resolve `ParameterNameDiscoverer` Bean Conflict in `spring-boot-autoconfigure` ([#10105](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10105))Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.