OpenTelemetry - CNCF/opentelemetry-java-instrumentation: Release v0.9.0
Name: opentelemetry-java-instrumentation
Owner: OpenTelemetry - CNCF
Release: Version 0.9.0
Released: 2020-10-14
License: Apache-2.0
Release Assets:
This update is compatible with the OpenTelemetry Java SDK 0.9.1
🌟 New instrumentation
- AWS Lambda runtime #1192 and SQS #1210
- gRPC instrumentation has been split so library instrumentation can be used without the javaagent #1329
📈 Improvements
- Lettuce 5.1 no longer records password in span for
AUTH
command #1190 - Context propagation fixes for Reactor instrumentation #1189
- Resources can be injected into an app by auto instrumentation #1172
- DynamoDB calls via AWS SDK v2 now have database semantic conventions filled #1191
- Logging exporter now prints trace ID in addition to span ID #1246
otel.exporter
can be set tootlp_span
orotlp_metric
to only enable the span or metric exporter #1253- Prometheus exporter is now supported #1262
- Significant work consolidating tracing code to use
Tracer
abstraction instead ofDecorator
#1275 - It is now possible to specify an ordering for instrumentations #1326
- AWS Lambda instrumentation can parent the Lambda infrastructure span #1323
- traceId/spanId MDC injection support documented #1339, #1347
- Fancier README #1340
- Better Context propagation for gRPC instrumentation #1343, #1383
- Better Context propagation for Netty instrumentation #1348
- Updated instrumentation that were only propagating Span to propagate Context #1350
- Muzzle better detects incompatibility when abstract method added to super class #1357
🛠️ Bug fixes
- Logback auto instrumentation was not applied correctly due to an issue in bytecode manipulation #1208
☢️ Breaking changes
- SPI interfaces for custom exporters and tracer customizers moved to
io.opentelemetry.instrumentation.opentelemetry-javaagent-spi
artifact,io.opentelemetry.javaagent.spi
package #1187 - Flag to exclude classes from instrumentation renamed from
trace.classes.exclude
tootel.trace.classes.exclude
Config
revamped to allow binary repackaging to set default values for config #1243 and the API has been cleaned up #1286, #1254, #1286, #1310- Renamed
auto
tojavaagent
in module names #1370
⛓ Tooling
- We now document our coverage of semantic conventions #1207, #1284, #1297
- Error prone + nullaway have been configured and can be enabled module-by-module to provide correctness checks #1203
- Support RestEasy 4.0 in unit tests #1082
- Smoke test coverage of log context integration #1228
- Muzzle now fails on unimplemented abstract methods #1193
- Documentation on how to remote debug the javaagent #1263, #1296
- Documentation on muzzle #1270, #1379
- Span assertion names now match the OTel span method names #1307
- Removed need for
AgentSpecification
#1291 - Muzzle is now run as part of GitHub Actions #1324
- Spotbugs errors fixed and check enabled on CI #1325
- Flaky JMS 1.x tests moved to testcontainers #1327
- Work towards migrating fully to GitHub Actions #1333, #1334
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
- @anuraaga
- @asarkar
- @billoneil
- @flands
- @imavroukakis
- @iNikem
- @jamal
- @jkwatson
- @kubawach
- @malafeev
- @mateuszrzeszutek
- @pavolloffay
- @rashmiram
- @trask
- @tylerbenson