Class AbstractTracingFilter

  • All Implemented Interfaces:
    javax.ws.rs.container.ContainerRequestFilter, javax.ws.rs.container.ContainerResponseFilter
    Direct Known Subclasses:
    MpTracingFilter, TracingFilter

    @ConstrainedTo(SERVER)
    @PreMatching
    public abstract class AbstractTracingFilter
    extends Object
    implements javax.ws.rs.container.ContainerRequestFilter, javax.ws.rs.container.ContainerResponseFilter
    Tracing filter base.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract void configureSpan​(io.opentracing.Tracer.SpanBuilder spanBuilder)
      Configure additional properties of a span that is named and has a parent.
      void filter​(javax.ws.rs.container.ContainerRequestContext requestContext)  
      void filter​(javax.ws.rs.container.ContainerRequestContext requestContext, javax.ws.rs.container.ContainerResponseContext responseContext)  
      protected abstract String spanName​(javax.ws.rs.container.ContainerRequestContext context)
      Create name of the newly created span.
      protected abstract boolean tracingEnabled​(javax.ws.rs.container.ContainerRequestContext context)
      Whether this tracing filter is enabled.
      protected String url​(javax.ws.rs.container.ContainerRequestContext requestContext)
      Resolves host name based on the "host" header.
    • Constructor Detail

      • AbstractTracingFilter

        public AbstractTracingFilter()
    • Method Detail

      • filter

        public void filter​(javax.ws.rs.container.ContainerRequestContext requestContext)
        Specified by:
        filter in interface javax.ws.rs.container.ContainerRequestFilter
      • url

        protected String url​(javax.ws.rs.container.ContainerRequestContext requestContext)
        Resolves host name based on the "host" header. If this header is not set, then URI.toString() is called.
        Parameters:
        requestContext - request context
        Returns:
        resolved url
      • filter

        public void filter​(javax.ws.rs.container.ContainerRequestContext requestContext,
                           javax.ws.rs.container.ContainerResponseContext responseContext)
        Specified by:
        filter in interface javax.ws.rs.container.ContainerResponseFilter
      • tracingEnabled

        protected abstract boolean tracingEnabled​(javax.ws.rs.container.ContainerRequestContext context)
        Whether this tracing filter is enabled.
        Parameters:
        context - request context
        Returns:
        true if filter should trigger and start a new span
      • spanName

        protected abstract String spanName​(javax.ws.rs.container.ContainerRequestContext context)
        Create name of the newly created span.
        Parameters:
        context - request context
        Returns:
        name of the span to be created
      • configureSpan

        protected abstract void configureSpan​(io.opentracing.Tracer.SpanBuilder spanBuilder)
        Configure additional properties of a span that is named and has a parent.
        Parameters:
        spanBuilder - builder of the new span