This update is compatible with the OpenTelemetry Java SDK 0.11.0.
NB! That release contains A LOT OF breaking changes related to builders, please read its change log carefully!
🌟 New instrumentation
- AWS Lambda Instrumentation of HTTP requests (e.g., API Gateway) #1650 #1536
- http4k (hosted out of tree but please give it a try!) #1605
- reactor-netty context propagation #1601
- Struts 2 #1628
- Runtime metrics (JVM metrics) moved from SDK repository #1720
- RXJava (previously existed only in agent, now published as library) #1732
📈 Improvements
- Anyone interested in the challenges of working with classloaders in Java agents can check out our design doc
- JDBC span names now include the statement name, DB name, and DB table #1533
- Many new SPIs to better configure the agent in restributions #1613
- Servlet
Filter
instrumented directly instead ofFilterChain
#1606 - Mongo command scrubber improvements #1663 #1662
- System metrics instrumentation updated to follow new specification #1705
- Baggage propagator enabled by default #1545
- Anyone creating a custom distribution of the agent should check out the example #1621
🛠️ Bug fixes
- Muzzle configuration issue effecting Wildfly and JDBC instrumentation #1585 #1593
- B3 multi propagation format can be configured with
b3multi
flag #1647 - AWS SDK v2 instrumentation now applied to all clients, not just ones after the first one #1759
- Context is propagated to requests from AWS SDK v2 / v1 #1763 #1771
- Kotlin auto instrumentation updated to use context element, should have less issues (please file any issues if you run into them!) #1618
🧰 Tooling
- Significant refactoring to instrumentation module setup introducing the
InstrumentationModule
interface #1528 - Byte buddy version bumped to 1.10.18 (should fix issues with Weblogic Server) #1596
- Gradle toolchains feature implemented to allow running tests on different JVMs without having to install them yourself #1627
- We now use checkstyle to check for some code conventions (not formatting) of the Google style guide #1641
- Muzzle now automatically generates injected helpers instead of being maintained manually #1714
☢️ Breaking changes
- Several configuration options have been renamed
otel.trace.enabled --> otel.javaagent.enabled
otel.trace.debug --> otel.javaagent.debug
otel.trace.config --> otel.javaagent.config
otel.trace.runtime.context.field.injection --> otel.javaagent.runtime.context.field.injection
otel.instrumentations.enabled --> otel.instrumentations.default-enabled
otel.trace.classes.excludes --> otel.javaagent.exclude-classes
###🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@agoallikmaa
@anuraaga
@daviddenton
@hasanfd
@holyjak
@iNikem
@jkwatson
@jamal
@jamesylgan
@jyemin
@kubawach
@malafeev
@mateuszrzeszutek
@MrCull
@pavolloffay
@snyder114
@TeeVenDick
@trask
@vovencij