Version 2.1.0
This release targets the OpenTelemetry SDK 1.35.0.
Note that many artifacts have the -alpha
suffix attached to their version number, reflecting that they are still alpha quality and will continue to have breaking changes. Please see the VERSIONING.md for more details.
Migration notes
- Deprecated config properties have been removed in favor of the new names:
otel.instrumentation.kafka.client-propagation.enabled
->otel.instrumentation.kafka.producer-propagation.enabled
otel.instrumentation.netty.always-create-connect-span
->otel.instrumentation.netty.connection-telemetry.enabled
otel.instrumentation.http.capture-headers.client.request
->otel.instrumentation.http.client.capture-request-headers
otel.instrumentation.http.capture-headers.client.response
->otel.instrumentation.http.client.capture-response-headers
otel.instrumentation.http.capture-headers.server.request
->otel.instrumentation.http.server.capture-request-headers
otel.instrumentation.http.capture-headers.server.response
->otel.instrumentation.http.server.capture-response-headers
otel.instrumentation.http.client.emit-experimental-metrics
->otel.instrumentation.http.client.emit-experimental-telemetry
otel.instrumentation.http.server.emit-experimental-metrics
->otel.instrumentation.http.server.emit-experimental-telemetry
(#10349)
- The deprecated Jaeger exporter has been removed (#10241)
- Actuator instrumentation has been disabled by default. You can enable using
OTEL_INSTRUMENTATION_SPRING_BOOT_ACTUATOR_AUTOCONFIGURE_ENABLED=true
or-Dotel.instrumentation.spring-boot-actuator-autoconfigure.enabled=true
. (#10394) - Spring starter: removed support for the deprecated @io.opentelemetry.extension.annotations.WithSpan annotation. Use @io.opentelemetry.instrumentation.annotations.WithSpan annotation instead. (#10530)
🌟 New javaagent instrumentation
🌟 New library instrumentation
- Apache HttpClient 5 instrumentation (#10100)
📈 Enhancements
- Spring starter: add distro version resource attribute (#10276)
- Add context propagation for rector schedulers (#10311)
- Spring starter: automatic addition of the OTel Logback appender (#10306)
- Spring starter: add resource detectors (#10277)
- Allow closing the observables for System and Process metrics gathered by OSHI (#10364)
- Spring starter: Allow to configure the OTel Logback appender from system properties (#10355)
- Spring starter: re-use sdk logic for configuring otlp exporters (#10292)
- All available spring starter properties (including the new properties) can be found
here - You can also use auto-completion in your IDE to see the available properties in
application.properties
orapplication.yml
- All available spring starter properties (including the new properties) can be found
- Spring starter: add SystemOutLogRecordExporter (#10420)
- Spring starter: use duration parser of config properties (#10512)
- Spring starter: support
otel.propagators
(#10408) - Set route only on the SERVER span (#10290)
- Convert Apache HttpClient 4.3 library instrumentation to "low-level" HTTP instrumentation (#10253)
🛠️ Bug fixes
- Fix log replay of the Log4j 2 appender (#10243)
- Fix Netty addListener instrumentation (#10254)
- Fix Calling shutdown() multiple times warning in spring starter (#10222)
- Correctly fix NPE in servlet AsyncListener (#10250)
- add @ConditionalOnMissingBean to LoggingMetricExporter (#10283)
- Make Netty Instrumentation HttpServerRequestTracingHandler propagate "Channel Inactive" event to downstream according to parent contract (#10303)
- Improve rediscala instrumentation to address sporadic test failure (#10301)
- Undertow: restore attached context only when it is for different trace (#10336)
- Reactor kafka wrapper delegates to wrong method (#10333)
- Spring starter: add missing LoggingMetricExporterAutoConfiguration to spring factories (#10282)
- Spring starter: Fix MapConverter does not get initialized if some exporters are turned off (#10346)
- Update azure-core-tracing-opentelemetry version and fix double-collection for synchronous HTTP requests (#10350)
- Allow OSGI dynamic import for
io.opentelemetry
package when matching (#10385) - Use direct peer address in
client.address
when X-Forwarded-For is not present (#10370) - Netty: don't expose tracing handler in handlers map (#10410)
- Wrap request to avoid modifying attributes of the original request (#10389)
- Fix JarAnalyzer warnings on Payara (#10458)
- Return wrapped connection from
Statement.getConnection()
(#10554) - Spring starter: Fix
otel.propagators
(#10559) - Populate
server.address
andserver.port
in Cassandra instrumentation (#10357)
🧰 Tooling
- Allow multiple invokedynamic InstrumentationModules to share classloaders (#10015)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@AlchemyDing
@breedx-splk
@cartersocha
@cbeneke
@codeboten
@dmarkwat
@elbiocaetano
@hadesy
@heyams
@jack-berg
@jackshirazi
@jakub-pomykala
@jaydeluca
@jeanbisutti
@JonasKunz
@jonasrutishauser
@KayWu
@kenfinnigan
@laurit
@lichenglin
@lmolkova
@lukny
@manikmagar
@mmorel-35
@pellmont
@Periecle
@pmitura-lucid
@rgrochowicz
@rickardoberg
@Roiocam
@rvenancio
@shaykeren
@steverao
@SylvainJuge
@theletterf
@trask
@zeitlinger