Class OpenTelemetryHttpServiceFilter.Builder

java.lang.Object
io.servicetalk.opentelemetry.http.OpenTelemetryHttpServiceFilter.Builder
Enclosing class:
OpenTelemetryHttpServiceFilter

public static final class OpenTelemetryHttpServiceFilter.Builder extends Object
Builder for constructing OpenTelemetryHttpServiceFilter filter instances.
  • Constructor Details

    • Builder

      public Builder()
      Create a new builder.
  • Method Details

    • build

      Create a new OpenTelemetryHttpServiceFilter instance.
      Returns:
      a new OpenTelemetryHttpServiceFilter instance
    • capturedRequestHeaders

      public final OpenTelemetryHttpServiceFilter.Builder capturedRequestHeaders(List<String> capturedRequestHeaders)
      Add the request headers to be captured as extra span attributes.
      Parameters:
      capturedRequestHeaders - extra headers to be captured in client/server requests and added as extra span attributes
      Returns:
      this
      See Also:
      • HttpClientAttributesExtractorBuilder.setCapturedRequestHeaders(List)
      • HttpServerAttributesExtractorBuilder.setCapturedRequestHeaders(List)
    • capturedResponseHeaders

      public final OpenTelemetryHttpServiceFilter.Builder capturedResponseHeaders(List<String> capturedResponseHeaders)
      Add the response headers to be captured as extra span attributes.
      Parameters:
      capturedResponseHeaders - extra headers to be captured in client/server response and added as extra span attributes
      Returns:
      this
      See Also:
      • HttpClientAttributesExtractorBuilder.setCapturedResponseHeaders(List)
      • HttpServerAttributesExtractorBuilder.setCapturedResponseHeaders(List)
    • openTelemetry

      public final OpenTelemetryHttpServiceFilter.Builder openTelemetry(io.opentelemetry.api.OpenTelemetry openTelemetry)
      Set the OpenTelemetry instance to use for creating spans.

      Note that this is deliberately left package private. Beyond testing, there are not any compelling use cases for an OpenTelemetry other than GlobalOpenTelemetry.get().

      Parameters:
      openTelemetry - the OpenTelemetry instance
      Returns:
      this