github open-telemetry/opentelemetry-java-instrumentation v0.9.0
Version 0.9.0

latest releases: v1.33.2, v2.3.0, v1.33.1...
3 years ago

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 to otlp_span or otlp_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 of Decorator #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 to otel.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 to javaagent 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:

Don't miss a new opentelemetry-java-instrumentation release

NewReleases is sending notifications on new releases.