Package brave.http

Interface HttpRequestParser

  • All Known Implementing Classes:
    HttpRequestParser.Default

    public interface HttpRequestParser
    Use this to control the request data recorded for an sampled HTTP client or server span.

    Here's an example that changes the span name and records the HTTP url instead of the path.

    
     httpTracing = httpTracing.toBuilder()
       .clientRequestParser((req, context, span) -> {
         String method = req.method();
         if (method != null) span.name(method);
         HttpTags.URL.tag(req, context, span); // the whole url, not just the path
       }).build();
     

    Note: This type is safe to implement as a lambda, or use as a method reference as it is effectively a FunctionalInterface. It isn't annotated as such because the project has a minimum Java language level 6.

    Since:
    5.10
    See Also:
    HttpResponseParser
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static class  HttpRequestParser.Default
      The default data policy sets the span name to the HTTP method and adds the "http.method" and "http.path" tags.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void parse​(HttpRequest request, brave.propagation.TraceContext context, brave.SpanCustomizer span)
      Implement to choose what data from the http request are parsed into the span representing it.
    • Method Detail

      • parse

        void parse​(HttpRequest request,
                   brave.propagation.TraceContext context,
                   brave.SpanCustomizer span)
        Implement to choose what data from the http request are parsed into the span representing it.
        See Also:
        HttpRequestParser.Default