in geronimo-opentracing-common/src/main/java/org/apache/geronimo/microprofile/opentracing/common/microprofile/server/OpenTracingServerRequestFilter.java [52:74]
public void filter(final ContainerRequestContext context) {
if (context.getProperty(OpenTracingFilter.class.getName()) != null || skip) {
return;
}
final Tracer.SpanBuilder builder = tracer.buildSpan(operationName);
builder.withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_SERVER);
builder.withTag("component", "jaxrs");
ofNullable(ofNullable(tracer.activeSpan()).map(Span::context)
.orElseGet(() -> tracer.extract(Format.Builtin.HTTP_HEADERS, new JaxRsHeaderTextMap<>(context.getHeaders()))))
.ifPresent(builder::asChildOf);
final Scope scope = builder.startActive(true);
final Span span = scope.span();
if (!skipDefaultTags) {
Tags.HTTP_METHOD.set(span, context.getMethod());
Tags.HTTP_URL.set(span, context.getUriInfo().getRequestUri().toASCIIString());
}
context.setProperty(OpenTracingFilter.class.getName(), scope);
}