This release targets the OpenTelemetry SDK 1.23.1.
Note that many artifacts have the -alpha
suffix attached to their version number, reflecting that they are still alpha quality and will continue to have breaking changes. Please see the VERSIONING.md for more details.
Migration notes
- HTTP span names are now
"{http.method} {http.route}"
instead of just"{http.route}"
, reflecting the recent change in the HTTP semantic conventions (#7730) - Added the base version into library package names to make room for other base versions without breaking backwards compatibility in the future once these artifacts are declared stable (#7608, #7752, #7764)
io.opentelemetry.instrumentation.spring.web.SpringWebTelemetry
→io.opentelemetry.instrumentation.spring.web.v3_1.SpringWebTelemetry
io.opentelemetry.instrumentation.spring.webflux.SpringWebfluxTelemetry
→io.opentelemetry.instrumentation.spring.webflux.v5_0.SpringWebfluxTelemetry
io.opentelemetry.instrumentation.spring.integration.SpringIntegrationTelemetry
→io.opentelemetry.instrumentation.spring.integration.v4_1.SpringIntegrationTelemetry
io.opentelemetry.instrumentation.logback.v1_0.OpenTelemetryAppender
→io.opentelemetry.instrumentation.logback.mdc.v1_0.OpenTelemetryAppender
io.opentelemetry.instrumentation.apachedbcp.ApacheDbcpTelemetry
→io.opentelemetry.instrumentation.apachedbcp.v2_0.ApacheDbcpTelemetry
io.opentelemetry.instrumentation.c3p0.C3p0Telemetry
→io.opentelemetry.instrumentation.c3p0.v0_9.C3p0Telemetry
io.opentelemetry.instrumentation.graphql.GraphQLTelemetry
→io.opentelemetry.instrumentation.graphql.v12_0.GraphQLTelemetry
io.opentelemetry.instrumentation.guava.GuavaAsyncOperationEndStrategy
→io.opentelemetry.instrumentation.guava.v10_0.GuavaAsyncOperationEndStrategy
io.opentelemetry.instrumentation.hikaricp.HikariTelemetry
→io.opentelemetry.instrumentation.hikaricp.v3_0.HikariTelemetry
io.opentelemetry.instrumentation.kafkaclients.KafkaTelemetry
→io.opentelemetry.instrumentation.kafkaclients.v2_6.KafkaTelemetry
io.opentelemetry.instrumentation.oracleucp.OracleUcpTelemetry
→io.opentelemetry.instrumentation.oracleucp.v11_2.OracleUcpTelemetry
io.opentelemetry.instrumentation.ratpack.RatpackTelemetry
→io.opentelemetry.instrumentation.ratpack.v1_7.RatpackTelemetry
io.opentelemetry.instrumentation.reactor.ContextPropagationOperator
→io.opentelemetry.instrumentation.reactor.v3_1.ContextPropagationOperator
io.opentelemetry.instrumentation.viburdbcp.ViburTelemetry
→io.opentelemetry.instrumentation.viburdbcp.v11_0.ViburTelemetry
- Several instrumentation scope names have been fixed (#7632)
io.opentelemetry.cxf-jaxrs-3.2
→io.opentelemetry.jaxrs-2.0-cxf-3.2
io.opentelemetry.jersey-2.0
→io.opentelemetry.jaxrs-2.0-jersey-2.0
orio.opentelemetry.jaxrs-3.0-jersey-3.0
as appropriateio.opentelemetry.resteasy-3.0
→io.opentelemetry.jaxrs-2.0-resteasy-3.0
io.opentelemetry.resteasy-3.1
→io.opentelemetry.jaxrs-2.0-resteasy-3.1
io.opentelemetry.resteasy-6.0
→io.opentelemetry.jaxrs-3.0-resteasy-6.0
io.opentelemetry.jws-1.1
→io.opentelemetry.jaxws-jws-api-1.1
io.opentelemetry.vertx-kafka-client-3.5
→io.opentelemetry.vertx-kafka-client-3.6
io.opentelemetry.hibernate-4.3
→io.opentelemetry.hibernate-procedure-call-4.3
- All methods in all
*Getter
classes ininstrumentation-api-semconv
have been renamed to use theget*()
naming scheme (#7619) - Return interfaces instead of concrete implementations in
instrumentation-api-semconv
(#7658)
📈 Enhancements
- Support Spring Web 6 in library instrumentation (#7551)
- Add gRPC request metadata instrumentation (#7011)
- Pass context to content length http metrics meters (#7506)
- Update SQL span name for procedures (#7557)
- Ratpack services OpenTelemetry (#7477)
- Ignore janino classloader (#7710)
- Improve type resolution cache for classes in java package (#7714)
- End netty client span before callbacks (#7737)
- Support slf4j to log4j2 (#7656)
- Add
net.host.port
to thehttp.server.active_requests
metric (#7757) - Allow JDBC library instrumentation to use a custom OpenTelemetry instance to be more DI (e.g. Spring Boot) friendly (#7697)
- Dubbo: don't create spans for calls inside the same jvm (#7761)
- Bridge OpenTelemetry metrics batch API (#7762)
- Support Spring Boot 3 in autoconfigure module (#7784)
- Change Spring Scheduling to not capture span for one-time jobs (only repeated jobs) (#7760)
- Add instrumentation for hibernate 6 (#7773)
- Put
http.route
attribute ontohttp.server.duration
on Play framework request processing (#7801) - Add Jakarta JSF 3.0+ instrumentation (#7786)
- Capture
net.sock.peer.addr
more reliably in grpc client instrumentation (#7742)
🛠️ Bug fixes
- Fix potential startup failure (#7567)
- Fix NoClassDefFoundError happening when snakeyaml is used on a custom JRE (#7598)
- Fix inconsistent handling of
net.peer.port
in HTTP instrumentations (#7618) - Fix concurrency issue in OpenTelemetryDriver (#7628)
- Fix ClassCastException with redisson batch with atomic write option (#7743)
- Ensure kafka configuration remains serializable (#7754, #7789)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@akats7
@anuragagarwal561994
@arbiv
@aschugunov
@astappiev
@bcmedeiros
@blumamir
@breedx-splk
@cuichenli
@FranPregernik
@heyams
@jack-berg
@jarias-lfx
@jkwatson
@jsalinaspolo
@kaibocai
@laurit
@lmolkova
@mateuszrzeszutek
@MosheElisha
@moznion
@PeterF778
@plevart
@robododge
@samimusallam
@ShinJJang
@Tavh
@theletterf
@trask
@xiangtianyu
@zeitlinger
@zewade