public void filter()

in geronimo-opentracing-common/src/main/java/org/apache/geronimo/microprofile/opentracing/common/microprofile/client/OpenTracingClientRequestFilter.java [62:92]


    public void filter(final ClientRequestContext context) {
        if (context.getProperty(OpenTracingClientRequestFilter.class.getName()) != null || skip) {
            return;
        }

        final Tracer.SpanBuilder builder = tracer.buildSpan(context.getMethod());
        builder.withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT);
        builder.withTag("component", "jaxrs");

        ofNullable(SpanContext.class.cast(context.getProperty(CHILD_OF)))
                .ifPresent(parent -> builder.ignoreActiveSpan().asChildOf(parent));

        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.getUri().toASCIIString());
        }
        if (!skipPeerTags) {
            final String host = context.getUri().getHost();
            Tags.PEER_HOSTNAME.set(span, host);
            Tags.PEER_PORT.set(span, context.getUri().getPort());
        }
        // customization point
        ofNullable(context.getProperty("org.apache.geronimo.microprofile.opentracing.spanConsumer"))
                .ifPresent(consumer -> Consumer.class.cast(consumer).accept(span));

        tracer.inject(span.context(), Format.Builtin.HTTP_HEADERS, new JaxRsHeaderTextMap<>(context.getHeaders()));
        context.setProperty(OpenTracingClientRequestFilter.class.getName(), scope);

    }