Class SpringWebfluxTelemetryBuilder

java.lang.Object
io.opentelemetry.instrumentation.spring.webflux.v5_3.SpringWebfluxTelemetryBuilder

public final class SpringWebfluxTelemetryBuilder extends Object
  • Method Details

    • addClientAttributesExtractor

      @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder addClientAttributesExtractor(io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor<org.springframework.web.reactive.function.client.ClientRequest,org.springframework.web.reactive.function.client.ClientResponse> attributesExtractor)
      Adds an additional AttributesExtractor to invoke to set attributes to instrumented items for WebClient.
    • setCapturedClientRequestHeaders

      @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setCapturedClientRequestHeaders(List<String> requestHeaders)
      Configures the HTTP WebClient request headers that will be captured as span attributes.
      Parameters:
      requestHeaders - A list of HTTP header names.
    • setCapturedClientResponseHeaders

      @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setCapturedClientResponseHeaders(List<String> responseHeaders)
      Configures the HTTP WebClient response headers that will be captured as span attributes.
      Parameters:
      responseHeaders - A list of HTTP header names.
    • addServerAttributesExtractor

      @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder addServerAttributesExtractor(io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor<org.springframework.web.server.ServerWebExchange,org.springframework.web.server.ServerWebExchange> attributesExtractor)
      Adds an additional AttributesExtractor to invoke to set attributes to instrumented items.
    • setCapturedServerRequestHeaders

      @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setCapturedServerRequestHeaders(List<String> requestHeaders)
      Configures the HTTP request headers that will be captured as span attributes from server instrumentation.
      Parameters:
      requestHeaders - A list of HTTP header names.
    • setCapturedServerResponseHeaders

      @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setCapturedServerResponseHeaders(List<String> responseHeaders)
      Configures the HTTP response headers that will be captured as span attributes from server instrumentation.
      Parameters:
      responseHeaders - A list of HTTP header names.
    • setKnownMethods

      @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setKnownMethods(Set<String> knownMethods)
      Configures the instrumentation to recognize an alternative set of HTTP request methods.

      By default, this instrumentation defines "known" methods as the ones listed in RFC9110 and the PATCH method defined in RFC5789.

      Note: calling this method overrides the default known method sets completely; it does not supplement it.

      Parameters:
      knownMethods - A set of recognized HTTP request methods.
      See Also:
      • HttpClientAttributesExtractorBuilder.setKnownMethods(Set)
      • HttpServerAttributesExtractorBuilder.setKnownMethods(Set)
    • setEmitExperimentalHttpClientTelemetry

      @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setEmitExperimentalHttpClientTelemetry(boolean emitExperimentalHttpClientTelemetry)
      Configures the instrumentation to emit experimental HTTP client metrics.
      Parameters:
      emitExperimentalHttpClientTelemetry - true if the experimental HTTP client metrics are to be emitted.
    • setEmitExperimentalHttpServerTelemetry

      @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setEmitExperimentalHttpServerTelemetry(boolean emitExperimentalHttpServerTelemetry)
      Configures the instrumentation to emit experimental HTTP server metrics.
      Parameters:
      emitExperimentalHttpServerTelemetry - true if the experimental HTTP server metrics are to be emitted.
    • setClientSpanNameExtractor

      @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setClientSpanNameExtractor(Function<io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor<org.springframework.web.reactive.function.client.ClientRequest>,? extends io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor<? super org.springframework.web.reactive.function.client.ClientRequest>> clientSpanNameExtractor)
      Sets custom client SpanNameExtractor via transform function.
    • setServerSpanNameExtractor

      @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setServerSpanNameExtractor(Function<io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor<org.springframework.web.server.ServerWebExchange>,? extends io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor<? super org.springframework.web.server.ServerWebExchange>> serverSpanNameExtractor)
      Sets custom server SpanNameExtractor via transform function.
    • build

      public SpringWebfluxTelemetry build()
      Returns a new SpringWebfluxTelemetry with the settings of this SpringWebfluxTelemetryBuilder.