public void filter()

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);
    }