Class DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE>
java.lang.Object
io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE>
This class is internal and is hence not for public use. Its APIs are unstable and can change at
any time.
-
Method Summary
Modifier and TypeMethodDescriptionaddAttributesExtractor(io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor<? super REQUEST, ? super RESPONSE> attributesExtractor) Adds an additionalAttributesExtractorto invoke to set attributes to instrumented items.build()configure(CommonConfig config) static <REQUEST,RESPONSE>
DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE> create(String instrumentationName, io.opentelemetry.api.OpenTelemetry openTelemetry, io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesGetter<REQUEST, RESPONSE> attributesGetter) static <REQUEST,RESPONSE>
DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE> create(String instrumentationName, io.opentelemetry.api.OpenTelemetry openTelemetry, io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesGetter<REQUEST, RESPONSE> attributesGetter, io.opentelemetry.context.propagation.TextMapSetter<REQUEST> headerSetter) <BUILDERREQUEST,BUILDERRESPONSE>
io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder<BUILDERREQUEST, BUILDERRESPONSE> instrumenterBuilder(io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor<? super BUILDERREQUEST> spanNameExtractor) setBuilderCustomizer(Consumer<io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder<REQUEST, RESPONSE>> builderCustomizer) setCapturedRequestHeaders(Collection<String> requestHeaders) Configures the HTTP request headers that will be captured as span attributes.setCapturedResponseHeaders(Collection<String> responseHeaders) Configures the HTTP response headers that will be captured as span attributes.setEmitExperimentalHttpClientTelemetry(boolean emitExperimentalHttpClientTelemetry) Configures the instrumentation to emit experimental HTTP client telemetry.setKnownMethods(Collection<String> knownMethods) Configures the instrumentation to recognize an alternative set of HTTP request methods.setPeerService(String peerService) Sets thepeer.serviceattribute for http client spans.setPeerServiceResolver(PeerServiceResolver peerServiceResolver) Sets customPeerServiceResolver.setRedactQueryParameters(boolean redactQueryParameters) Configures the instrumentation to redact sensitive URL parameters.setSpanNameExtractor(Function<io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor<REQUEST>, io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor<REQUEST>> spanNameExtractorTransformer) Sets customSpanNameExtractorvia transform function.setStatusExtractor(Function<io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor<REQUEST, RESPONSE>, io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor<REQUEST, RESPONSE>> statusExtractor)
-
Method Details
-
create
public static <REQUEST,RESPONSE> DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> create(String instrumentationName, io.opentelemetry.api.OpenTelemetry openTelemetry, io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesGetter<REQUEST, RESPONSE> attributesGetter) -
create
public static <REQUEST,RESPONSE> DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> create(String instrumentationName, io.opentelemetry.api.OpenTelemetry openTelemetry, io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesGetter<REQUEST, RESPONSE> attributesGetter, io.opentelemetry.context.propagation.TextMapSetter<REQUEST> headerSetter) -
addAttributesExtractor
@CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> addAttributesExtractor(io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor<? super REQUEST, ? super RESPONSE> attributesExtractor) Adds an additionalAttributesExtractorto invoke to set attributes to instrumented items. TheAttributesExtractorwill be executed after all default extractors. -
setStatusExtractor
@CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> setStatusExtractor(Function<io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor<REQUEST, RESPONSE>, io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor<REQUEST, RESPONSE>> statusExtractor) -
setCapturedRequestHeaders
@CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> setCapturedRequestHeaders(Collection<String> requestHeaders) Configures the HTTP request headers that will be captured as span attributes.- Parameters:
requestHeaders- A list of HTTP header names.
-
setCapturedResponseHeaders
@CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> setCapturedResponseHeaders(Collection<String> responseHeaders) Configures the HTTP response headers that will be captured as span attributes.- Parameters:
responseHeaders- A list of HTTP header names.
-
setKnownMethods
@CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> setKnownMethods(Collection<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:
-
setEmitExperimentalHttpClientTelemetry
@CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> setEmitExperimentalHttpClientTelemetry(boolean emitExperimentalHttpClientTelemetry) Configures the instrumentation to emit experimental HTTP client telemetry.- Parameters:
emitExperimentalHttpClientTelemetry-trueif the experimental HTTP client telemetry is to be emitted.
-
setRedactQueryParameters
@CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> setRedactQueryParameters(boolean redactQueryParameters) Configures the instrumentation to redact sensitive URL parameters.- Parameters:
redactQueryParameters-trueif the sensitive URL parameters have to be redacted.
-
setSpanNameExtractor
@CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> setSpanNameExtractor(Function<io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor<REQUEST>, io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor<REQUEST>> spanNameExtractorTransformer) Sets customSpanNameExtractorvia transform function. -
setPeerServiceResolver
@CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> setPeerServiceResolver(PeerServiceResolver peerServiceResolver) Sets customPeerServiceResolver. -
setPeerService
@CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> setPeerService(String peerService) Sets thepeer.serviceattribute for http client spans. -
setBuilderCustomizer
-
build
-
instrumenterBuilder
public <BUILDERREQUEST,BUILDERRESPONSE> io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder<BUILDERREQUEST,BUILDERRESPONSE> instrumenterBuilder(io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor<? super BUILDERREQUEST> spanNameExtractor) -
configure
@CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder<REQUEST,RESPONSE> configure(CommonConfig config)
-