opentracing-contrib/java-jaxrs

Integrate with microprofile.io

pavolloffay opened this issue · 2 comments

MicroProfile has a spec for distributed tracing using OpenTracing API https://github.com/eclipse/microprofile-opentracing. From the features perspective, it's very close to this implementation.

For me it makes sense to integrate with microprofile.io. Then this instrumentation could be used as a component in application servers to implement microprofile-opentracing support.

Additionally, application servers would have to:

  • change default ClientBuilder to one with registered tracing and OpenTracing-aware executor service (for async API to wire the correct parent)
  • register servlet filter and jax-rs server filters

What will have to change in this instrumentation:

  • use @Traced annotation from MP (possibly other annotations and constants)
  • use servlet filter to finish the span and log exceptions (span will be started in jax-rs filter due to @Traced(false))

cc @objectiser @pilhuhn @kenfinnigan

Sounds reasonable, as long as we ensure the instrumentation can still be used independently from a microprofile runtime.

That is also a requirement. The only change in apps would be to use microprofile annotations.