Class WebClientTelemetryTracing
java.lang.Object
io.helidon.webclient.telemetry.tracing.WebClientTelemetryTracing
- All Implemented Interfaces:
NamedService, WebClientService
Implementation of OpenTelemetry semantic conventions for client tracing.
-
Nested Class Summary
Nested classes/interfaces inherited from interface WebClientService
WebClientService.Chain, WebClientService.TransportChain, WebClientService.WireProtocolChainModifier and TypeInterfaceDescriptionstatic interfaceChain of services.static interfaceTerminal service chain that can expose transport response context after an invocation.static interfaceTerminal service chain that exposes the currently selected wire protocol. -
Method Summary
Modifier and TypeMethodDescriptionstatic WebClientTelemetryTracingcreate()Creates a new service instance to emit tracing spans compliant with OpenTelemetry semantic conventions for clients.static WebClientTelemetryTracingCreates a new service instance to emit tracing spans compliant with OpenTelemetry semantic conventions for clients using the provided configuration.static WebClientTelemetryTracingCreates a new service instance to emit tracing spans compliant with OpenTelemetry semantic conventions for clients using the provided configuration and tracer.static WebClientTelemetryTracingCreates a new service instance to emit tracing spans compliant with OpenTelemetry semantic conventions for clients using the provided configuration and tracer supplier.handle(WebClientService.Chain chain, WebClientServiceRequest clientRequest) Invoke a service, callWebClientService.Chain.proceed(io.helidon.webclient.api.WebClientServiceRequest)to call the next service in the chain.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface WebClientService
name, typeModifier and TypeMethodDescriptiondefault Stringname()Name of this implementation, as provided inConfiguredProvider.create(Config, String).default Stringtype()Type of this implementation, to distinguish instances of same type, with differentNamedService.name().
-
Method Details
-
create
Creates a new service instance to emit tracing spans compliant with OpenTelemetry semantic conventions for clients.- Returns:
- new tracing semantic conventions implementation
-
create
Creates a new service instance to emit tracing spans compliant with OpenTelemetry semantic conventions for clients using the provided configuration.- Parameters:
config- telemetry tracing config- Returns:
- new tracing semantic conventions implementation
-
create
Creates a new service instance to emit tracing spans compliant with OpenTelemetry semantic conventions for clients using the provided configuration and tracer.- Parameters:
config- telemetry tracing configtracer- fallback tracer when the request context does not contain one- Returns:
- new tracing semantic conventions implementation
-
create
Creates a new service instance to emit tracing spans compliant with OpenTelemetry semantic conventions for clients using the provided configuration and tracer supplier.- Parameters:
config- telemetry tracing configtracer- supplier of the fallback tracer when the request context does not contain one- Returns:
- new tracing semantic conventions implementation
-
handle
public WebClientServiceResponse handle(WebClientService.Chain chain, WebClientServiceRequest clientRequest) Description copied from interface:WebClientServiceInvoke a service, callWebClientService.Chain.proceed(io.helidon.webclient.api.WebClientServiceRequest)to call the next service in the chain.- Specified by:
handlein interfaceWebClientService- Parameters:
chain- to invoke next web client service, or the HTTP call if this is the last serviceclientRequest- request from the client, or previous services- Returns:
- response to be returned to the client
-