package org.wildfly.swarm.opentracing.hawkular.jaxrs.filters; import javax.naming.NamingException; import javax.ws.rs.container.DynamicFeature; import javax.ws.rs.container.ResourceInfo; import javax.ws.rs.core.FeatureContext; import javax.ws.rs.ext.Provider; import org.jboss.logging.Logger; import org.wildfly.swarm.opentracing.hawkular.jaxrs.TracerLookup; import io.opentracing.contrib.jaxrs2.server.ServerTracingDynamicFeature; /** * @author Pavol Loffay */ @Provider public class TracingDynamicFeature implements DynamicFeature { private static final Logger log = Logger.getLogger(TracingDynamicFeature.class); private ServerTracingDynamicFeature delegate; public TracingDynamicFeature() { log.info("OpenTracing Hawkular JAX-RS Dynamic Feature"); try { ServerTracingDynamicFeature.Builder builder = TracerLookup.lookup().get(); this.delegate = builder.build(); } catch (NamingException e) { throw new RuntimeException("Failed to lookup tracer builder", e); } } @Override public void configure(ResourceInfo resourceInfo, FeatureContext context) { delegate.configure(resourceInfo, context); } }