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
grpc
tohttp/protobuf
in order to align with the specification. You can switch to thegrpc
protocol usingOTEL_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.
- Stable JVM semantic conventions are now emitted.
-
Memory metrics
process.runtime.jvm.memory.usage
renamed tojvm.memory.used
process.runtime.jvm.memory.committed
renamed tojvm.memory.committed
process.runtime.jvm.memory.limit
renamed tojvm.memory.limit
process.runtime.jvm.memory.usage_after_last_gc
renamed tojvm.memory.used_after_last_gc
process.runtime.jvm.memory.init
renamed tojvm.memory.init
(still experimental)- Metric attributes:
type
renamed tojvm.memory.type
pool
renamed tojvm.memory.pool.name
-
Garbage collection metrics
process.runtime.jvm.gc.duration
renamed tojvm.gc.duration
- Metric attributes:
name
renamed tojvm.gc.name
action
renamed tojvm.gc.action
-
Thread metrics
process.runtime.jvm.threads.count
renamed tojvm.threads.count
- Metric attributes:
daemon
renamed tojvm.thread.daemon
-
Classes metrics
process.runtime.jvm.classes.loaded
renamed tojvm.classes.loaded
process.runtime.jvm.classes.unloaded
renamed tojvm.classes.unloaded
process.runtime.jvm.classes.current_loaded
renamed tojvm.classes.count
-
CPU metrics
process.runtime.jvm.cpu.utilization
renamed tojvm.cpu.recent_utilization
process.runtime.jvm.system.cpu.load_1m
renamed tojvm.system.cpu.load_1m
(still experimental)process.runtime.jvm.system.cpu.utilization
renamed tojvm.system.cpu.utilization
(still experimental)
-
Buffer metrics
process.runtime.jvm.buffer.limit
renamed tojvm.buffer.memory.limit
(still experimental)process.runtime.jvm.buffer.count
renamed tojvm.buffer.count
(still experimental)process.runtime.jvm.buffer.usage
renamed tojvm.buffer.memory.usage
(still experimental)- Metric attributes:
pool
renamed 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=true
or-Dotel.instrumentation.lettuce.connection-telemetry.enabled=true
. - The configuration property
otel.instrumentation.log4j-appender.experimental.capture-context-data-attributes
has been renamed tootel.instrumentation.log4j-appender.experimental.capture-mdc-attributes
. - MDC attribute prefixes (
log4j.mdc.
andlogback.mdc.*
) have been removed. - The artifact
instrumentation-api-semconv
has been renamed toinstrumentation-api-incubator
. - HTTP classes have been moved from
instrumentation-api-incubator
toinstrumentation-api
and as a result are now stable.
🌟 New javaagent instrumentation
- Vert.x redis client (#9838)
📈 Enhancements
- Reduce reactor stack trace depth (#9923)
- Implement
error.type
inspring-webflux
andreactor-netty
instrumentations (#9967) - Bridge metric advice in OpenTelemetry API 1.32 (#10026)
- Capture http.route for akka-http (#10039)
- Rename
telemetry.auto.version
totelemetry.distro.version
and 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_PROTOCOL
for 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
ParameterNameDiscoverer
Bean 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