This update is compatible with the OpenTelemetry Java SDK 0.8.0
🌟 New instrumentation
While not new instrumentation, we've also added documentation for our Spring instrumentation - give it a try and let us know how we can improve it! #1035 #1110
📈 Improvements
- Significant work consolidating tracing code to use
Tracer
abstraction instead ofDecorator
#893 #918 #922 #1148 - Thread information is logged into span attributes #1093
- More coverage of messaging attributes for JMS #963 #1179
- Jedis now has
net.peer
mapped correctly #1158 - Removed redundant instrumentation of
UrlConnection
#1059 - Metric exporter is now enabled by default #1098
- Version of the Java agent is now populated in
Resource
#1112 - Many optimizations to our framework / various instrumentations #1107
🛠️ Bug fixes
WithSpan
works again after fixing compatibility with the SDK #929ClassCastException
not thrown when accessingTracerSDK
directly #931- OpenTracing shim correctly propagates headers (baggage is still not supported) #947 #974
ClassCastException
not thrown on recent Jetty versions #1156null
can be set by instrumentations usingInstrumentationContext
even when the context is backed by a map #1177- Kotlin coroutines have context propagated correctly #1168
- Spring Web MVC spans have correct name even if there is an authentication failure #1122
- Servlet 3.1+ containers do not throw exceptions #1167
☢️ Breaking changes
io.opentelemetry:opentelemetry-sdk-extension-auto-config
used by exporter modules has been replaced byio.opentelemetry.instrumentation.auto:opentelemetry-javaagent-tooling
. If you maintain a custom exporter, please migrate to this new module to continue to be recognized by the agent.- We will probably be renaming this module again in the next version, sorry for the churn!
- Java agent binary and modules are now published at
io.opentelemetry.instrumentation.auto:opentelemetry-javaagent/opentelemetry-javaagent-bootstrap/opentelemetry-javaagent-tooling
io.opentelemetry.auto
package moved toio.opentelemetry.javaagent
. This affects any command line parameters too
⛓ Tooling
- Reworked tests against latest dependencies of libraries to be flagged by a property, reducing load during local development #977
- Added Gradle remote caching to improve build times on GitHub actions and locally #982
- Smoke tests reworked to run well on both CI and locally #934
- Migrated test runner to JUnit5 from JUnit4 #770
- You should now see far fewer flaky builds as we have automatic retry of all tests due to the flaky nature of some of the libraries we use #908
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests: