Version 2.0.0
This release targets the OpenTelemetry SDK 1.34.1.
Note that many artifacts have the -alpha suffix attached to their version number, reflecting that they are still alpha quality and will continue to have breaking changes. Please see the VERSIONING.md for more details.
The 2.0.0 release contains significant breaking changes that will most likely affect all users, please be sure to read the breaking changes below carefully.
Note: 1.32.x will be security patched for at least 6 months in case some of the changes below are too disruptive to adopt right away.
⚠️ ⚠️ Breaking changes ⚠️ ⚠️
- The default OTLP protocol has been changed from
grpctohttp/protobufin order to align with the specification. You can switch to thegrpcprotocol usingOTEL_EXPORTER_OTLP_PROTOCOL=grpcor-Dotel.exporter.otlp.protocol=grpc. - Micrometer metric bridge has been disabled by default. You can enable it using
OTEL_INSTRUMENTATION_MICROMETER_ENABLED=trueor-Dotel.instrumentation.micrometer.enabled=true. - The OTLP logs exporter is now enabled by default. You can disable it using
OTEL_LOGS_EXPORTER=noneor-Dotel.logs.exporter=none. - Controller spans are now disabled by default. You can enable them using
OTEL_INSTRUMENTATION_COMMON_EXPERIMENTAL_CONTROLLER_TELEMETRY_ENABLED=trueor-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=trueor-Dotel.instrumentation.common.experimental.view-telemetry.enabled=true. ⚠️ ⚠️ Stable HTTP semantic conventions are now emitted⚠️ ⚠️ - TOO MANY CHANGES TO LIST HERE, be sure to review the full list of changes.
- Stable JVM semantic conventions are now emitted.
-
Memory metrics
process.runtime.jvm.memory.usagerenamed tojvm.memory.usedprocess.runtime.jvm.memory.committedrenamed tojvm.memory.committedprocess.runtime.jvm.memory.limitrenamed tojvm.memory.limitprocess.runtime.jvm.memory.usage_after_last_gcrenamed tojvm.memory.used_after_last_gcprocess.runtime.jvm.memory.initrenamed tojvm.memory.init(still experimental)- Metric attributes:
typerenamed tojvm.memory.typepoolrenamed tojvm.memory.pool.name
-
Garbage collection metrics
process.runtime.jvm.gc.durationrenamed tojvm.gc.duration- Metric attributes:
namerenamed tojvm.gc.nameactionrenamed tojvm.gc.action
-
Thread metrics
process.runtime.jvm.threads.countrenamed tojvm.threads.count- Metric attributes:
daemonrenamed tojvm.thread.daemon
-
Classes metrics
process.runtime.jvm.classes.loadedrenamed tojvm.classes.loadedprocess.runtime.jvm.classes.unloadedrenamed tojvm.classes.unloadedprocess.runtime.jvm.classes.current_loadedrenamed tojvm.classes.count
-
CPU metrics
process.runtime.jvm.cpu.utilizationrenamed tojvm.cpu.recent_utilizationprocess.runtime.jvm.system.cpu.load_1mrenamed tojvm.system.cpu.load_1m(still experimental)process.runtime.jvm.system.cpu.utilizationrenamed tojvm.system.cpu.utilization(still experimental)
-
Buffer metrics
process.runtime.jvm.buffer.limitrenamed tojvm.buffer.memory.limit(still experimental)process.runtime.jvm.buffer.countrenamed tojvm.buffer.count(still experimental)process.runtime.jvm.buffer.usagerenamed tojvm.buffer.memory.usage(still experimental)- Metric attributes:
poolrenamed tojvm.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=trueor-Dotel.instrumentation.lettuce.connection-telemetry.enabled=true. - The configuration property
otel.instrumentation.log4j-appender.experimental.capture-context-data-attributeshas been renamed tootel.instrumentation.log4j-appender.experimental.capture-mdc-attributes. - MDC attribute prefixes (
log4j.mdc.andlogback.mdc.*) have been removed. - The artifact
instrumentation-api-semconvhas been renamed toinstrumentation-api-incubator. - HTTP classes have been moved from
instrumentation-api-incubatortoinstrumentation-apiand as a result are now stable.
🌟 New javaagent instrumentation
- Vert.x redis client (#9838)
📈 Enhancements
- Reduce reactor stack trace depth (#9923)
- Implement
error.typeinspring-webfluxandreactor-nettyinstrumentations (#9967) - Bridge metric advice in OpenTelemetry API 1.32 (#10026)
- Capture http.route for akka-http (#10039)
- Rename
telemetry.auto.versiontotelemetry.distro.versionand addtelemetry.distro.name(#9065) - Implement forEach support for aws sqs tracing list (#10062)
- Add http client response attributes to aws sqs process spans (#10074)
- Add support for
OTEL_RESOURCE_ATTRIBUTES,OTEL_SERVICE_NAME,OTEL_EXPORTER_OTLP_HEADERS, andOTEL_EXPORTER_OTLP_PROTOCOLfor spring boot starter (#9950) - Add elasticsearch-api-client as instrumentation name to elasticsearch-api-client-7.16 (#10102)
- Add instrumentation for druid connection pool (#9935)
- Remove deprecated rocketmq setting (#10125)
- JMX metrics for Tomcat with 'Tomcat' JMX domain (#10115)
- Capture the SNS topic ARN under the 'messaging.destination.name' span attribute. (#10096)
- Add network attributes to rabbitmq process spans (#10210)
- Add UserExcludedClassloadersConfigurer (#10134)
- Apply both server attributes & network attributes to Lettuce 5.1 (#10197)
🛠️ Bug fixes
- Fix aws propagator presence check in spring boot starter (#9924)
- Capture authority from apache httpclient request when HttpHost is null (#9990)
- Fix NoSuchBeanDefinitionException with the JDBC driver configuration in spring boot starter (#9978)
- Null check for nullable response object in aws sdk 1.1 instrumentation (#10029)
- Fix using opentelemetry-spring-boot with Java 8 and Gradle (#10066)
- Fix transforming Java record types (#10052)
- Fix warnings from the spring boot starter (#10086)
- Resolve
ParameterNameDiscovererBean Conflict inspring-boot-autoconfigure(#10105)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@AlchemyDing
@anhermon
@anuraaga
@bcarter97
@breedx-splk
@happyuser23
@heyams
@jack-berg
@jaydeluca
@jeanbisutti
@JonasKunz
@kenfinnigan
@knbk
@laurit
@mateuszrzeszutek
@moznion
@nilsga
@PaurushGarg
@PeterF778
@rBrda
@SHaaD94
@stevesea
@SylvainJuge
@tduncan
@theletterf
@trask
@TylerHelmuth
@vallabhnatu
@xiongchun
@zeitlinger