22
33## Unreleased
44
5+ ### Migration notes
6+
7+ In preparation for stabilizing HTTP library instrumentation soon:
8+
9+ - ` setEmitExperimental* ` methods in ` *TelemetryBuilder ` classes have been deprecated and moved
10+ to internal/experimental classes, see Javadoc ` @deprecated ` for exact relocation
11+ ([ #12847 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12847 ) )
12+ - ` ApacheHttpClient5* ` classes have been deprecated and renamed to ` ApacheHttpClient* `
13+ ([ #12854 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12854 ) )
14+ - ` RatpackTelemetry* ` classes have been deprecated and split into ` RatpackClientTelemetry* `
15+ and ` RatpackServerTelemetry* `
16+ ([ #12853 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12853 ) )
17+ - ` SpringWebfluxTelemetry* ` classes have been deprecated and split into
18+ ` SpringWebfluxClientTelemetry* ` and ` SpringWebfluxServerTelemetry* `
19+ ([ #12852 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12852 ) )
20+ - ` ArmeriaTelemetry* ` classes have been deprecated and split into ` ArmeriaClientTelemetry* `
21+ and ` ArmeriaServerTelemetry* `
22+ ([ #12851 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12851 ) )
23+ - ` *KtorClientTracing ` and ` *KtorServerTracing ` have been deprecated and renamed to
24+ ` *KtorClientTelemetry ` and ` *KtorServerTelemetry `
25+ ([ #12855 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12855 ) )
26+
527## Version 2.10.0 (2024-11-13)
628
729### 🌟 New javaagent instrumentation
5375 ([ #12511 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12511 ) )
5476- Fix lettuce instrumentation and tests to pass against latest version
5577 ([ #12552 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12552 ) )
56- - Fix Kafka initialization occasionally failed due to concurrent injection of OpenTelemetryMetricsReporter
78+ - Fix Kafka initialization occasionally failed due to concurrent injection of
79+ OpenTelemetryMetricsReporter
5780 ([ #12583 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12583 ) )
5881
5982## Version 2.9.0 (2024-10-17)
87110 ([ #12265 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12265 ) )
88111- Spring Boot Starter: Add auto configuration for spring scheduling instrumentation
89112 ([ #12438 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12438 ) )
90- - Extract ` APIGatewayProxyRequestEvent ` headers for context propagation in AWS Lambda instrumentation
113+ - Extract ` APIGatewayProxyRequestEvent ` headers for context propagation in AWS Lambda
114+ instrumentation
91115 ([ #12440 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12440 ) )
92116- Support JMX state metrics
93117 ([ #12369 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12369 ) )
122146 If you are using the Java agent, this only affects you if you are opting in via
123147 ` otel.instrumentation.runtime-telemetry-java17.enable-all=true ` .
124148 ([ #12084 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12084 ) ,
125- [ #12244 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12244 ) )
149+ [ #12244 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12244 ) )
126150
127151### 📈 Enhancements
128152
155179 ([ #12121 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12121 ) )
156180- Fix error span status for successful requests in Ktor
157181 ([ #12161 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12161 ) )
158- - Make OpenTelemetryHandlerMappingFilter handle exceptions from ` ServletRequestPathUtils.parseAndCache() `
182+ - Make OpenTelemetryHandlerMappingFilter handle exceptions from
183+ ` ServletRequestPathUtils.parseAndCache() `
159184 ([ #12221 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12221 ) )
160185- Fix tracing CoroutineCrudRepository.findById
161186 ([ #12131 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12131 ) )
181206 ([ #11926 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11926 ) )
182207- Ignore Alibaba fastjson ASMClassLoader
183208 ([ #11954 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11954 ) )
184- - Use ` aws-lambda-java-serialization ` library, which is available by default, while deserializing input and serializing output
209+ - Use ` aws-lambda-java-serialization ` library, which is available by default, while deserializing
210+ input and serializing output
185211 ([ #11868 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11868 ) )
186212- Logback appender: map timestamp in nanoseconds if possible
187213 ([ #11974 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11974 ) )
@@ -444,7 +470,8 @@ The Spring Boot Starter (`opentelemetry-spring-boot-starter`) is now stable.
444470 ([ #10887 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10887 ) )
445471- Fix spring kafka interceptor wrappers not delegating some methods
446472 ([ #10935 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10935 ) )
447- - AWS Lambda Runtime legacy internal handlers need to be ignored from being instrumented and so traced …
473+ - AWS Lambda Runtime legacy internal handlers need to be ignored from being instrumented and so
474+ traced …
448475 ([ #10942 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10942 ) )
449476- Metro: ignore UnsupportedOperationException when updating span name
450477 ([ #10996 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10996 ) )
@@ -571,14 +598,15 @@ The Spring Boot Starter (`opentelemetry-spring-boot-starter`) is now stable.
571598 ` otel.instrumentation.http.client.emit-experimental-telemetry `
572599 - ` otel.instrumentation.http.server.emit-experimental-metrics ` ->
573600 ` otel.instrumentation.http.server.emit-experimental-telemetry `
574- ([ #10349 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10349 ) )
601+ ([ #10349 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10349 ) )
575602- The deprecated Jaeger exporter has been removed
576603 ([ #10241 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10241 ) )
577604- Actuator instrumentation has been disabled by default.
578605 You can enable using ` OTEL_INSTRUMENTATION_SPRING_BOOT_ACTUATOR_AUTOCONFIGURE_ENABLED=true `
579606 or ` -Dotel.instrumentation.spring-boot-actuator-autoconfigure.enabled=true ` .
580607 ([ #10394 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10394 ) )
581- - Spring starter: removed support for the deprecated @io .opentelemetry.extension.annotations.WithSpan
608+ - Spring starter: removed support for the deprecated
609+ @io .opentelemetry.extension.annotations.WithSpan
582610 annotation. Use @io .opentelemetry.instrumentation.annotations.WithSpan annotation instead.
583611 ([ #10530 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10530 ) )
584612
@@ -681,7 +709,7 @@ The Spring Boot Starter (`opentelemetry-spring-boot-starter`) is now stable.
681709
682710- Backport: update jackson packages to v2.16.1
683711 ([ #10198 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10198 ) ,
684- [ #10199 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10199 ) )
712+ [ #10199 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10199 ) )
685713- Backport: implement forEach support for aws sqs tracing list
686714 ([ #10195 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10195 ) )
687715- Backport: Bridge metric advice in OpenTelemetry API 1.32
@@ -695,7 +723,8 @@ The Spring Boot Starter (`opentelemetry-spring-boot-starter`) is now stable.
695723 ([ #10204 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10204 ) )
696724- Backport: Null check for nullable response object in aws sdk 1.1 instrumentation
697725 ([ #10029 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10029 ) )
698- - Backport: Make Netty Instrumentation HttpServerRequestTracingHandler propagate "Channel Inactive" event to downstream according to parent contract
726+ - Backport: Make Netty Instrumentation HttpServerRequestTracingHandler propagate "Channel Inactive"
727+ event to downstream according to parent contract
699728 ([ #10303 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10303 ) )
700729- Backport: Fix Netty addListener instrumentation
701730 ([ #10254 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10254 ) )
@@ -755,8 +784,10 @@ too disruptive to adopt right away.
755784 - ` process.runtime.jvm.classes.current_loaded ` renamed to ` jvm.classes.count `
756785 - CPU metrics
757786 - ` process.runtime.jvm.cpu.utilization ` renamed to ` jvm.cpu.recent_utilization `
758- - ` process.runtime.jvm.system.cpu.load_1m ` renamed to ` jvm.system.cpu.load_1m ` (still experimental)
759- - ` process.runtime.jvm.system.cpu.utilization ` renamed to ` jvm.system.cpu.utilization ` (still experimental)
787+ - ` process.runtime.jvm.system.cpu.load_1m ` renamed to ` jvm.system.cpu.load_1m ` (still
788+ experimental)
789+ - ` process.runtime.jvm.system.cpu.utilization ` renamed to ` jvm.system.cpu.utilization ` (still
790+ experimental)
760791 - Buffer metrics
761792 - ` process.runtime.jvm.buffer.limit ` renamed to ` jvm.buffer.memory.limit ` (still experimental)
762793 - ` process.runtime.jvm.buffer.count ` renamed to ` jvm.buffer.count ` (still experimental)
@@ -857,7 +888,8 @@ too disruptive to adopt right away.
857888 ([ #9698 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9698 ) )
858889- Generate only consumer span for sqs receive message
859890 ([ #9652 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9652 ) )
860- - Replace ` (client|server).socket.(address|port) ` attributes with ` network.(peer|local).(address|port) `
891+ - Replace ` (client|server).socket.(address|port) ` attributes with
892+ ` network.(peer|local).(address|port) `
861893 (when opting in to new semconv)
862894 ([ #9676 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9676 ) )
863895- Add capability for invokedynamic InstrumentationModules to inject proxies
@@ -885,7 +917,7 @@ too disruptive to adopt right away.
885917 ([ #9774 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9774 ) )
886918- Move capturing enduser.id attribute behind a flag
887919 ([ #9751 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9751 ) ,
888- [ #9788 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9788 ) )
920+ [ #9788 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9788 ) )
889921- Remove conditional requirement on ` network.peer.address ` and ` network.peer.port `
890922 (when opting in to new semconv)
891923 ([ #9775 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9775 ) )
@@ -895,7 +927,8 @@ too disruptive to adopt right away.
895927- Make ` url.scheme ` opt in for HTTP client metrics and make ` server.port ` required
896928 (when opting in to new semconv)
897929 ([ #9784 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9784 ) )
898- - Change ` http.request.body.size ` and ` http.response.body.size ` attributes from recommended to opt-in
930+ - Change ` http.request.body.size ` and ` http.response.body.size ` attributes from recommended to
931+ opt-in
899932 (when opting in to new semconv)
900933 ([ #9799 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9799 ) )
901934- Capture ` http.route ` in spring-cloud-gateway
@@ -1049,11 +1082,11 @@ too disruptive to adopt right away.
10491082 ([ #9335 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9335 ) )
10501083- More support for upcoming semantic convention changes
10511084 ([ #9346 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9346 )
1052- [ #9345 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9345 ) ,
1053- [ #9320 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9320 ) ,
1054- [ #9355 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9355 ) ,
1055- [ #9381 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9381 ) ,
1056- [ #9441 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9441 ) )
1085+ [ #9345 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9345 ) ,
1086+ [ #9320 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9320 ) ,
1087+ [ #9355 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9355 ) ,
1088+ [ #9381 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9381 ) ,
1089+ [ #9441 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9441 ) )
10571090- Unwrap Runnable in ThreadPoolExecutor before/after methods
10581091 ([ #9326 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9326 ) )
10591092- Add javaagent to instrumentation bom
@@ -1101,16 +1134,16 @@ too disruptive to adopt right away.
11011134- ` NetClientAttributesExtractor ` and ` NetServerAttributesExtractor `
11021135 have been deprecated
11031136 ([ #9165 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9165 ) ,
1104- [ #9156 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9156 ) )
1137+ [ #9156 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9156 ) )
11051138- ` HttpClientAttributesGetter ` now extends ` NetClientAttributesGetter `
11061139 and ` HttpServerAttributesGetter ` extends ` NetServerAttributesGetter `
11071140 ([ #9015 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9015 ) ,
1108- [ #9088 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9088 ) )
1141+ [ #9088 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9088 ) )
11091142- A couple of Spring starter configuration options have been renamed to match Java agent options:
11101143 - ` otel.springboot.httpclients.enabled ` -> ` otel.instrumentation.spring-webmvc.enabled `
11111144 or ` otel.instrumentation.spring-webmvc.enabled ` depending on the underlying http client
11121145 - ` otel.springboot.aspects.enabled ` -> ` otel.instrumentation.annotations.enabled `
1113- ([ #8950 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/8950 ) )
1146+ ([ #8950 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/8950 ) )
11141147- Previously deprecated suppression key ` executor ` was removed from executors module,
11151148 the new suppression key is ` executors `
11161149 ([ #9064 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9064 ) )
@@ -1354,7 +1387,8 @@ too disruptive to adopt right away.
13541387
13551388### Migration notes
13561389
1357- - ` java.util.concurrent ` executors instrumentation suppression key has changed from ` executor ` to ` executors `
1390+ - ` java.util.concurrent ` executors instrumentation suppression key has changed from ` executor ` to
1391+ ` executors `
13581392 ([ #8451 ] ( https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/8451 ) )
13591393
13601394### 🌟 New javaagent instrumentation
0 commit comments