|
2 | 2 |
|
3 | 3 | ## Unreleased
|
4 | 4 |
|
| 5 | +The 2.0.0 release contains significant breaking changes that will most likely affect all users, |
| 6 | +please be sure to read the breaking changes below carefully. |
| 7 | + |
| 8 | +Note: 1.32.x will be security patched for at least 6 months in case some of the changes below are |
| 9 | +too disruptive to adopt right away. |
| 10 | + |
| 11 | +### ⚠️⚠️ Breaking changes ⚠️⚠️ |
| 12 | + |
| 13 | +- The default OTLP protocol has been changed from `grpc` to `http/protobuf` in order to align with |
| 14 | + the [specification](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.28.0/specification/protocol/exporter.md#specify-protocol). |
| 15 | + You can switch to the `grpc` protocol using `OTEL_EXPORTER_OTLP_PROTOCOL=grpc` |
| 16 | + or `-Dotel.exporter.otlp.protocol=grpc`. |
| 17 | +- Micrometer metric bridge has been disabled by default. You can enable it using |
| 18 | + `OTEL_INSTRUMENTATION_MICROMETER_ENABLED=true` |
| 19 | + or `-Dotel.instrumentation.micrometer.enabled=true`. |
| 20 | +- The OTLP logs exporter is now enabled by default. You can disable it using |
| 21 | + `OTEL_LOGS_EXPORTER=none` or `-Dotel.logs.exporter=none`. |
| 22 | +- Controller spans are now disabled by default. You can enable them using |
| 23 | + `OTEL_INSTRUMENTATION_COMMON_EXPERIMENTAL_CONTROLLER_TELEMETRY_ENABLED=true` |
| 24 | + or `-Dotel.instrumentation.common.experimental.controller-telemetry.enabled=true`. |
| 25 | +- View spans are now disabled by default. You can enable them using |
| 26 | + `OTEL_INSTRUMENTATION_COMMON_EXPERIMENTAL_VIEW_TELEMETRY_ENABLED=true` |
| 27 | + or `-Dotel.instrumentation.common.experimental.view-telemetry.enabled=true`. |
| 28 | +- ⚠️⚠️ Stable HTTP semantic conventions are now emitted ⚠️⚠️ |
| 29 | + - TOO MANY CHANGES TO LIST HERE, be sure to review the full |
| 30 | + [list of changes](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/http/migration-guide.md#summary-of-changes). |
| 31 | +- Stable JVM semantic conventions are now emitted. |
| 32 | + - Memory metrics |
| 33 | + - `process.runtime.jvm.memory.usage` renamed to `jvm.memory.used` |
| 34 | + - `process.runtime.jvm.memory.committed` renamed to `jvm.memory.committed` |
| 35 | + - `process.runtime.jvm.memory.limit` renamed to `jvm.memory.limit` |
| 36 | + - `process.runtime.jvm.memory.usage_after_last_gc` renamed to `jvm.memory.used_after_last_gc` |
| 37 | + - `process.runtime.jvm.memory.init` renamed to `jvm.memory.init` (still experimental) |
| 38 | + - Metric attributes |
| 39 | + - `type` renamed to `jvm.memory.type` |
| 40 | + - `pool` renamed to `jvm.memory.pool.name` |
| 41 | + - Garbage collection metrics |
| 42 | + - `process.runtime.jvm.gc.duration` renamed to `jvm.gc.duration` |
| 43 | + - Metric attributes |
| 44 | + - `name` renamed to `jvm.gc.name` |
| 45 | + - `action` renamed to `jvm.gc.action` |
| 46 | + - Thread metrics |
| 47 | + - `process.runtime.jvm.threads.count` renamed to `jvm.threads.count` |
| 48 | + - Metric attributes |
| 49 | + - `daemon` renamed to `jvm.thread.daemon` |
| 50 | + - Classes metrics |
| 51 | + - `process.runtime.jvm.classes.loaded` renamed to `jvm.classes.loaded` |
| 52 | + - `process.runtime.jvm.classes.unloaded` renamed to `jvm.classes.unloaded` |
| 53 | + - `process.runtime.jvm.classes.current_loaded` renamed to `jvm.classes.count` |
| 54 | + - CPU metrics |
| 55 | + - `process.runtime.jvm.cpu.utilization` renamed to `jvm.cpu.recent_utilization` |
| 56 | + - `process.runtime.jvm.system.cpu.load_1m` renamed to `jvm.system.cpu.load_1m` (still experimental) |
| 57 | + - `process.runtime.jvm.system.cpu.utilization` renamed to `jvm.system.cpu.utilization` (still experimental) |
| 58 | + - Buffer metrics |
| 59 | + - `process.runtime.jvm.buffer.limit` renamed to `jvm.buffer.memory.limit` (still experimental) |
| 60 | + - `process.runtime.jvm.buffer.count` renamed to `jvm.buffer.count` (still experimental) |
| 61 | + - `process.runtime.jvm.buffer.usage` renamed to `jvm.buffer.memory.usage` (still experimental) |
| 62 | + - Metric attributes |
| 63 | + - `pool` renamed to `jvm.buffer.pool.name` |
| 64 | + |
| 65 | +### More migration notes |
| 66 | + |
| 67 | +- Lettuce CONNECT spans are now disabled by default. You can enable them using |
| 68 | + `OTEL_INSTRUMENTATION_LETTUCE_CONNECTION_TELEMETRY_ENABLED=true` |
| 69 | + or `-Dotel.instrumentation.lettuce.connection-telemetry.enabled=true`. |
| 70 | +- The configuration property |
| 71 | + `otel.instrumentation.log4j-appender.experimental.capture-context-data-attributes` has been |
| 72 | + renamed to `otel.instrumentation.log4j-appender.experimental.capture-mdc-attributes`. |
| 73 | +- MDC attribute prefixes (`log4j.mdc.` and `logback.mdc.*`) have been removed. |
| 74 | +- The artifact `instrumentation-api-semconv` has been renamed to `instrumentation-api-incubator`. |
| 75 | +- HTTP classes have been moved from `instrumentation-api-incubator` to `instrumentation-api` |
| 76 | + and as a result are now stable. |
| 77 | + |
| 78 | +### 🌟 New javaagent instrumentation |
| 79 | + |
| 80 | +- Vert.x redis client |
| 81 | + ([#9838](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9838)) |
| 82 | + |
| 83 | +### 📈 Enhancements |
| 84 | + |
| 85 | +- Reduce reactor stack trace depth |
| 86 | + ([#9923](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9923)) |
| 87 | +- Implement `error.type` in `spring-webflux` and `reactor-netty` instrumentations |
| 88 | + ([#9967](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9967)) |
| 89 | +- Bridge metric advice in OpenTelemetry API 1.32 |
| 90 | + ([#10026](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10026)) |
| 91 | +- Capture http.route for akka-http |
| 92 | + ([#10039](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10039)) |
| 93 | +- Rename `telemetry.auto.version` to `telemetry.distro.version` and add `telemetry.distro.name` |
| 94 | + ([#9065](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9065)) |
| 95 | +- Implement forEach support for aws sqs tracing list |
| 96 | + ([#10062](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10062)) |
| 97 | +- Add http client response attributes to aws sqs process spans |
| 98 | + ([#10074](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10074)) |
| 99 | +- Add support for `OTEL_RESOURCE_ATTRIBUTES`, `OTEL_SERVICE_NAME`, `OTEL_EXPORTER_OTLP_HEADERS`, |
| 100 | + and `OTEL_EXPORTER_OTLP_PROTOCOL` for spring boot starter |
| 101 | + ([#9950](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9950)) |
| 102 | +- Add elasticsearch-api-client as instrumentation name to elasticsearch-api-client-7.16 |
| 103 | + ([#10102](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10102)) |
| 104 | +- Add instrumentation for druid connection pool |
| 105 | + ([#9935](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9935)) |
| 106 | +- Remove deprecated rocketmq setting |
| 107 | + ([#10125](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10125)) |
| 108 | +- JMX metrics for Tomcat with 'Tomcat' JMX domain |
| 109 | + ([#10115](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10115)) |
| 110 | +- Capture the SNS topic ARN under the 'messaging.destination.name' span attribute. |
| 111 | + ([#10096](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10096)) |
| 112 | +- Add network attributes to rabbitmq process spans |
| 113 | + ([#10210](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10210)) |
| 114 | +- Add UserExcludedClassloadersConfigurer |
| 115 | + ([#10134](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10134)) |
| 116 | +- Apply both server attributes & network attributes to Lettuce 5.1 |
| 117 | + ([#10197](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10197)) |
| 118 | + |
| 119 | +### 🛠️ Bug fixes |
| 120 | + |
| 121 | +- Fix aws propagator presence check in spring boot starter |
| 122 | + ([#9924](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9924)) |
| 123 | +- Capture authority from apache httpclient request when HttpHost is null |
| 124 | + ([#9990](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9990)) |
| 125 | +- Fix NoSuchBeanDefinitionException with the JDBC driver configuration in spring boot starter |
| 126 | + ([#9978](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9978)) |
| 127 | +- Null check for nullable response object in aws sdk 1.1 instrumentation |
| 128 | + ([#10029](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10029)) |
| 129 | +- Fix using opentelemetry-spring-boot with Java 8 and Gradle |
| 130 | + ([#10066](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10066)) |
| 131 | +- Fix transforming Java record types |
| 132 | + ([#10052](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10052)) |
| 133 | +- Fix warnings from the spring boot starter |
| 134 | + ([#10086](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10086)) |
| 135 | +- Resolve `ParameterNameDiscoverer` Bean Conflict in `spring-boot-autoconfigure` |
| 136 | + ([#10105](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/10105)) |
| 137 | + |
5 | 138 | ## Version 1.32.0 (2023-11-18)
|
6 | 139 |
|
7 | 140 | ### Migration notes
|
|
0 commit comments