Hi, 

I am looking at microprofile-opentracing integration for Wildfly Swarm. Briefly, it is a distributed tracing for JAX-RS both server and client. 

Issue [1] describes what is necessary. But I will repeat here:

Server
1. register server jax-rs filters (no problem, server features are auto-discovered)
2. use servlet filter to finish the span and log any exception to the span - because jax-rs filters do not capture exceptions

Client
1. register tracing filters
2. use OpenTracing-aware ExecutorService - it's needed for async API to correctly propagate parent.
(3.) TCK is not defined yet. However, if they want to create spans for UnknownHostException then we cannot use jax-rs client filters because they are not executed. Network attempt happens before the filter when the exception is thrown. To solve this we have to implement tracing in resteasy or supply apache HC with tracing filters enabled (it also has some problems).


The biggest issue is with client because we need `ClientBuilder.newBuilder()` to return client/builder with enabled tracing.

[1] https://issues.jboss.org/browse/SWARM-1691


--

PAVOL LOFFAY

Red Hat Česká republika

Purkyňova 115 TPB-B 612 00 Brno

M: +421948286055