Class AbstractTracingFilter

java.lang.Object
io.helidon.tracing.jersey.AbstractTracingFilter
All Implemented Interfaces:
ContainerRequestFilter, ContainerResponseFilter
Direct Known Subclasses:
MpTracingFilter, TracingFilter

@ConstrainedTo(SERVER) @PreMatching public abstract class AbstractTracingFilter extends Object implements ContainerRequestFilter, ContainerResponseFilter
Tracing filter base.
  • Constructor Details

    • AbstractTracingFilter

      public AbstractTracingFilter()
  • Method Details

    • filter

      public void filter(ContainerRequestContext requestContext)
      Specified by:
      filter in interface ContainerRequestFilter
    • filter

      public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
      Specified by:
      filter in interface ContainerResponseFilter
    • url

      protected String url(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
    • tracingEnabled

      protected abstract boolean tracingEnabled(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(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(Span.Builder spanBuilder)
      Configure additional properties of a span that is named and has a parent.
      Parameters:
      spanBuilder - builder of the new span