open-telemetry/opentelemetry-java-instrumentation (io.opentelemetry.instrumentation:opentelemetry-instrumentation-api)
### [`v2.0.0`](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-200-2024-01-12)
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` to `http/protobuf` in order to align with
the [specification](https://togithub.com/open-telemetry/opentelemetry-specification/blob/v1.28.0/specification/protocol/exporter.md#specify-protocol).
You can switch to the `grpc` protocol using `OTEL_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](https://togithub.com/open-telemetry/semantic-conventions/blob/main/docs/http/migration-guide.md#summary-of-changes).
- Stable JVM semantic conventions are now emitted.
- Memory metrics
- `process.runtime.jvm.memory.usage` renamed to `jvm.memory.used`
- `process.runtime.jvm.memory.committed` renamed to `jvm.memory.committed`
- `process.runtime.jvm.memory.limit` renamed to `jvm.memory.limit`
- `process.runtime.jvm.memory.usage_after_last_gc` renamed to `jvm.memory.used_after_last_gc`
- `process.runtime.jvm.memory.init` renamed to `jvm.memory.init` (still experimental)
- Metric attributes
- `type` renamed to `jvm.memory.type`
- `pool` renamed to `jvm.memory.pool.name`
- Garbage collection metrics
- `process.runtime.jvm.gc.duration` renamed to `jvm.gc.duration`
- Metric attributes
- `name` renamed to `jvm.gc.name`
- `action` renamed to `jvm.gc.action`
- Thread metrics
- `process.runtime.jvm.threads.count` renamed to `jvm.threads.count`
- Metric attributes
- `daemon` renamed to `jvm.thread.daemon`
- Classes metrics
- `process.runtime.jvm.classes.loaded` renamed to `jvm.classes.loaded`
- `process.runtime.jvm.classes.unloaded` renamed to `jvm.classes.unloaded`
- `process.runtime.jvm.classes.current_loaded` renamed to `jvm.classes.count`
- CPU metrics
- `process.runtime.jvm.cpu.utilization` renamed to `jvm.cpu.recent_utilization`
- `process.runtime.jvm.system.cpu.load_1m` renamed to `jvm.system.cpu.load_1m` (still experimental)
- `process.runtime.jvm.system.cpu.utilization` renamed to `jvm.system.cpu.utilization` (still experimental)
- Buffer metrics
- `process.runtime.jvm.buffer.limit` renamed to `jvm.buffer.memory.limit` (still experimental)
- `process.runtime.jvm.buffer.count` renamed to `jvm.buffer.count` (still experimental)
- `process.runtime.jvm.buffer.usage` renamed to `jvm.buffer.memory.usage` (still experimental)
- Metric attributes
- `pool` renamed to `jvm.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 to `otel.instrumentation.log4j-appender.experimental.capture-mdc-attributes`.
- MDC attribute prefixes (`log4j.mdc.` and `logback.mdc.*`) have been removed.
- The artifact `instrumentation-api-semconv` has been renamed to `instrumentation-api-incubator`.
- HTTP classes have been moved from `instrumentation-api-incubator` to `instrumentation-api`
and as a result are now stable.
##### 🌟 New javaagent instrumentation
- Vert.x redis client
([#9838](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9838))
##### 📈 Enhancements
- Reduce reactor stack trace depth
([#9923](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9923))
- Implement `error.type` in `spring-webflux` and `reactor-netty` instrumentations
([#9967](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9967))
- Bridge metric advice in OpenTelemetry API 1.32
([#10026](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10026))
- Capture http.route for akka-http
([#10039](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10039))
- Rename `telemetry.auto.version` to `telemetry.distro.version` and add `telemetry.distro.name`
([#9065](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9065))
- Implement forEach support for aws sqs tracing list
([#10062](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10062))
- Add http client response attributes to aws sqs process spans
([#10074](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10074))
- Add support for `OTEL_RESOURCE_ATTRIBUTES`, `OTEL_SERVICE_NAME`, `OTEL_EXPORTER_OTLP_HEADERS`,
and `OTEL_EXPORTER_OTLP_PROTOCOL` for spring boot starter
([#9950](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9950))
- Add elasticsearch-api-client as instrumentation name to elasticsearch-api-client-7.16
([#10102](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10102))
- Add instrumentation for druid connection pool
([#9935](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9935))
- Remove deprecated rocketmq setting
([#10125](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10125))
- JMX metrics for Tomcat with 'Tomcat' JMX domain
([#10115](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10115))
- Capture the SNS topic ARN under the 'messaging.destination.name' span attribute.
([#10096](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10096))
- Add network attributes to rabbitmq process spans
([#10210](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10210))
- Add UserExcludedClassloadersConfigurer
([#10134](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10134))
- Apply both server attributes & network attributes to Lettuce 5.1
([#10197](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10197))
##### 🛠️ Bug fixes
- Fix aws propagator presence check in spring boot starter
([#9924](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9924))
- Capture authority from apache httpclient request when HttpHost is null
([#9990](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9990))
- Fix NoSuchBeanDefinitionException with the JDBC driver configuration in spring boot starter
([#9978](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9978))
- Null check for nullable response object in aws sdk 1.1 instrumentation
([#10029](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10029))
- Fix using opentelemetry-spring-boot with Java 8 and Gradle
([#10066](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10066))
- Fix transforming Java record types
([#10052](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10052))
- Fix warnings from the spring boot starter
([#10086](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10086))
- Resolve `ParameterNameDiscoverer` Bean Conflict in `spring-boot-autoconfigure`
([#10105](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10105))
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.32.0
->2.0.0
Release Notes
open-telemetry/opentelemetry-java-instrumentation (io.opentelemetry.instrumentation:opentelemetry-instrumentation-api)
### [`v2.0.0`](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/blob/HEAD/CHANGELOG.md#Version-200-2024-01-12) 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` to `http/protobuf` in order to align with the [specification](https://togithub.com/open-telemetry/opentelemetry-specification/blob/v1.28.0/specification/protocol/exporter.md#specify-protocol). You can switch to the `grpc` protocol using `OTEL_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](https://togithub.com/open-telemetry/semantic-conventions/blob/main/docs/http/migration-guide.md#summary-of-changes). - Stable JVM semantic conventions are now emitted. - Memory metrics - `process.runtime.jvm.memory.usage` renamed to `jvm.memory.used` - `process.runtime.jvm.memory.committed` renamed to `jvm.memory.committed` - `process.runtime.jvm.memory.limit` renamed to `jvm.memory.limit` - `process.runtime.jvm.memory.usage_after_last_gc` renamed to `jvm.memory.used_after_last_gc` - `process.runtime.jvm.memory.init` renamed to `jvm.memory.init` (still experimental) - Metric attributes - `type` renamed to `jvm.memory.type` - `pool` renamed to `jvm.memory.pool.name` - Garbage collection metrics - `process.runtime.jvm.gc.duration` renamed to `jvm.gc.duration` - Metric attributes - `name` renamed to `jvm.gc.name` - `action` renamed to `jvm.gc.action` - Thread metrics - `process.runtime.jvm.threads.count` renamed to `jvm.threads.count` - Metric attributes - `daemon` renamed to `jvm.thread.daemon` - Classes metrics - `process.runtime.jvm.classes.loaded` renamed to `jvm.classes.loaded` - `process.runtime.jvm.classes.unloaded` renamed to `jvm.classes.unloaded` - `process.runtime.jvm.classes.current_loaded` renamed to `jvm.classes.count` - CPU metrics - `process.runtime.jvm.cpu.utilization` renamed to `jvm.cpu.recent_utilization` - `process.runtime.jvm.system.cpu.load_1m` renamed to `jvm.system.cpu.load_1m` (still experimental) - `process.runtime.jvm.system.cpu.utilization` renamed to `jvm.system.cpu.utilization` (still experimental) - Buffer metrics - `process.runtime.jvm.buffer.limit` renamed to `jvm.buffer.memory.limit` (still experimental) - `process.runtime.jvm.buffer.count` renamed to `jvm.buffer.count` (still experimental) - `process.runtime.jvm.buffer.usage` renamed to `jvm.buffer.memory.usage` (still experimental) - Metric attributes - `pool` renamed to `jvm.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 to `otel.instrumentation.log4j-appender.experimental.capture-mdc-attributes`. - MDC attribute prefixes (`log4j.mdc.` and `logback.mdc.*`) have been removed. - The artifact `instrumentation-api-semconv` has been renamed to `instrumentation-api-incubator`. - HTTP classes have been moved from `instrumentation-api-incubator` to `instrumentation-api` and as a result are now stable. ##### 🌟 New javaagent instrumentation - Vert.x redis client ([#9838](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9838)) ##### 📈 Enhancements - Reduce reactor stack trace depth ([#9923](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9923)) - Implement `error.type` in `spring-webflux` and `reactor-netty` instrumentations ([#9967](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9967)) - Bridge metric advice in OpenTelemetry API 1.32 ([#10026](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10026)) - Capture http.route for akka-http ([#10039](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10039)) - Rename `telemetry.auto.version` to `telemetry.distro.version` and add `telemetry.distro.name` ([#9065](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9065)) - Implement forEach support for aws sqs tracing list ([#10062](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10062)) - Add http client response attributes to aws sqs process spans ([#10074](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10074)) - Add support for `OTEL_RESOURCE_ATTRIBUTES`, `OTEL_SERVICE_NAME`, `OTEL_EXPORTER_OTLP_HEADERS`, and `OTEL_EXPORTER_OTLP_PROTOCOL` for spring boot starter ([#9950](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9950)) - Add elasticsearch-api-client as instrumentation name to elasticsearch-api-client-7.16 ([#10102](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10102)) - Add instrumentation for druid connection pool ([#9935](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9935)) - Remove deprecated rocketmq setting ([#10125](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10125)) - JMX metrics for Tomcat with 'Tomcat' JMX domain ([#10115](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10115)) - Capture the SNS topic ARN under the 'messaging.destination.name' span attribute. ([#10096](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10096)) - Add network attributes to rabbitmq process spans ([#10210](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10210)) - Add UserExcludedClassloadersConfigurer ([#10134](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10134)) - Apply both server attributes & network attributes to Lettuce 5.1 ([#10197](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10197)) ##### 🛠️ Bug fixes - Fix aws propagator presence check in spring boot starter ([#9924](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9924)) - Capture authority from apache httpclient request when HttpHost is null ([#9990](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9990)) - Fix NoSuchBeanDefinitionException with the JDBC driver configuration in spring boot starter ([#9978](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/9978)) - Null check for nullable response object in aws sdk 1.1 instrumentation ([#10029](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10029)) - Fix using opentelemetry-spring-boot with Java 8 and Gradle ([#10066](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10066)) - Fix transforming Java record types ([#10052](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10052)) - Fix warnings from the spring boot starter ([#10086](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10086)) - Resolve `ParameterNameDiscoverer` Bean Conflict in `spring-boot-autoconfigure` ([#10105](https://togithub.com/open-telemetry/opentelemetry-java-instrumentation/pull/10105))Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.