- RxJava 3 (#2794)
- RxJava 3 (#2794)
- Support sub-millisecond precision for start/end times on Java 9+ (#2600)
@WithSpan
async support added for methods returning async Reactor 3.x types (#2714)@WithSpan
async support added for methods returning Guava ListenableFuture (#2811)- Semantic attributes
code.namespace
andcode.function
captured on JAX-RS internal spans (#2805) - Context propagated to reactor-netty callbacks (#2850)
- AWS lambda flush timeout raised to 10 seconds (#2855)
SERVER
span names improved for Spring MVC, Grails, Wicket, and Struts (#2814)SERVER
span names improved for Servlet filters (#2887)SERVER
span names improved for Resteasy (#2900)SERVER
span names improved for Jersey and CXF (#2919)- JAX-RS
@ApplicationPath
annotation captured as part ofSERVER
span name (#2824) - RequestDispatcher
forward()
andinclude()
internal spans removed (#2816) - Raised gRPC min version supported to 1.6 in order to use new gRPC context bridge API (#2948)
- gRPC context bridging issues (#2564, #2959)
- URL credentials of the form
https://username:[email protected]/
no longer captured (#2707) - Spring MVC instrumentation can cause Spring MVC to misroute requests under some conditions (#2815)
- RxJava2 NoSuchFieldError (#2836)
- Duplicate http client tracing headers (#2842)
- Netty 4.1 listeners could not be removed by application (#2851)
- NPE caused in gRPC ProtoReflectionService (#2876)
- Context leak when using Ratpack (#2910)
- Context leak when using Jetty (#2920)
- Servlet instrumentation overwrites setStatus that was set manually earlier (#2929)
- Spans not captured on interface default methods annotated with JAX-RS annotations (#2930)
- Documented how to write InstrumentationModule line by line (#2793)
- New instrumenter API used in JMS instrumentation (#2803)
- Instrumenter API improvements (#2860)
- Muzzle checks whether used fields are actually declared somewhere (#2870)
- Extracted javaagent-extension-api from tooling & spi
(#2879)
- You no longer have to depend on the
javaagent-tooling
module to implement custom instrumentations: a newjavaagent-extension-api
module was introduced, containing all the necessary instrumentation classes and interfaces; InstrumentationModule
andTypeInstrumentation
were moved to theio.opentelemetry.javaagent.extension.instrumentation
package;AgentElementMatchers
,ClassLoaderMatcher
andNameMatchers
were moved to theio.opentelemetry.javaagent.extension.matcher
package;- A new SPI
AgentExtension
was introduced: it replacesByteBuddyAgentCustomizer
; InstrumentationModule#getOrder()
was renamed toorder()
;InstrumentationModule#additionalHelperClassNames()
has been removed; useisHelperClass(String)
instead if you use the muzzle compile plugin. If you're not using muzzle, you can overridegetMuzzleHelperClassNames()
directly instead;InstrumentationModule#getAllHelperClassNames()
has been removed; you can callgetMuzzleHelperClassNames()
to retrieve all helper class names instead.
- You no longer have to depend on the
- Update servlet attribute names for log injection, from
traceId
andspanId
totrace_id
andspan_id
(#2593) - Renamed
runtime.jvm.gc.collection
metric toruntime.jvm.gc.time
(#2616)
- Elasticsearch 7 (#2514, #2528)
- Couchbase 3.1 (#2524)
- Grails (#2512)
- RocketMQ (#2263)
- Lettuce 6 (#2589)
- Servlet 5 (#2609)
- Vaadin web framework (#2619)
- GWT (#2652)
- Tapestry web framework (#2690)
@WithSpan
support for methods returning CompletableFuture (#2530)@WithSpan
support for methods returning async RxJava 2 types (#2530)
- Library instrumentation for AWS SDK v1 (#2525)
- Library instrumentation for Lettuce 5.1 (#2533)
- RocketMQ (#2263)
- Lettuce 6 (#2589)
- Spring Boot Autoconfigure support for
@WithSpan
methods returning CompletableFuture (#2618) - Spring Boot Autoconfigure support for
@WithSpan
methods returning async RxJava 2 types (#2530)
- Move attributes to span builder for use by samplers (#2587)
- Apache Camel - SNS propagation (#2562)
- Apache Camel - S3 to SQS propagation (#2583)
- Added
runtime.jvm.gc.count
metric (#2616) - Support reactor netty
HttpClient.from
construction (#2650) - Improve akka instrumentation (#2737)
- Record internal metric for SQL cache misses (#2747)
- End Netty 4.1 client and server spans when the response has completed, instead of when the response has started (#2641)
- Fix RestTemplateInterceptor so that it calls endExceptionally() on exception (#2516)
- Fix app failure under Eclipse OSGi (#2521)
- Fix undertow span ending too early (#2560)
- Fix context leak in AWS SDK 2.2 and RocketMQ instrumentations (#2637)
- Fix hang when a webflux http request is made inside of another webflux http request (e.g. auth filter) (#2646)
- Fix
@WithSpan
instrumentation breaking Java 6 classes (#2699) - Fix context not propagated over JMS when explicit destination used (#2702)
- Fix StackOverflowError if jdbc driver implementation of Connection getMetaData calls Statement execute (#2756)