Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently jax-rs server span naming relies on instrumenting all jax-rs methods in
JaxRsAnnotationsInstrumentation
and when such a method is calledJaxRsAnnotationsTracer
tries to figure out a suitable server span name by finding@Path
annotations on the called method and class. If@Path
annotation is not found on called class it searches class hierarchy for@Path
annotation and similarly if@Path
is not found on called method it searches class hierarchy for a method that current method overrides.Unfortunately current implementation does not detect all jax-rs methods. For example
JaxRsSuperClassTestResourceSuper.call
doesn't get instrumented andJaxRsInterfaceClassTestResourceSuper.call
doesn't get instrumented.This pr implements resteasy specific integration for setting server span name. Resteasy invoker object is associated with the path for which it was created and when the invoker is used that path is set as server span name. This pr also adds support for subresource locators.