Documentation ¶
Overview ¶
Package otelrestful instruments github.com/emicklei/go-restful.
Instrumentation is provided to trace the emicklei/go-restful/v3 package (https://github.com/emicklei/go-restful).
Instrumentation of an incoming request is achieved via a go-restful FilterFunc called `OTelFilterFunc` which may be applied at any one of
- the container level
- webservice level
- route level
Index ¶
Constants ¶
const ScopeName = "go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful"
ScopeName is the instrumentation scope name.
Variables ¶
This section is empty.
Functions ¶
func OTelFilter ¶
OTelFilter returns a restful.FilterFunction which will trace an incoming request.
The service parameter should describe the name of the (virtual) server handling the request. Options can be applied to configure the tracer and propagators used for this filter.
func SemVersion
deprecated
added in
v0.24.0
Types ¶
type Option ¶
type Option interface {
// contains filtered or unexported methods
}
Option applies a configuration value.
func WithPropagators ¶
func WithPropagators(propagators propagation.TextMapPropagator) Option
WithPropagators specifies propagators to use for extracting information from the HTTP requests. If none are specified, global ones will be used.
func WithPublicEndpoint ¶ added in v0.41.0
func WithPublicEndpoint() Option
WithPublicEndpoint configures the Handler to link the span with an incoming span context. If this option is not provided, then the association is a child association instead of a link.
func WithPublicEndpointFn ¶ added in v0.41.0
WithPublicEndpointFn runs with every request, and allows conditionnally configuring the Handler to link the span with an incoming span context. If this option is not provided or returns false, then the association is a child association instead of a link. Note: WithPublicEndpoint takes precedence over WithPublicEndpointFn.
func WithTracerProvider ¶
func WithTracerProvider(provider oteltrace.TracerProvider) Option
WithTracerProvider specifies a tracer provider to use for creating a tracer. If none is specified, the global provider is used.