Documentation ¶
Overview ¶
Package otelmux instruments the github.com/gorilla/mux package.
Currently only the routing of a received message can be instrumented. To do it, use the Middleware function.
Index ¶
- func Middleware(service string, opts ...Option) mux.MiddlewareFunc
- func SemVersion() string
- func Version() string
- type Option
- func WithPropagators(propagators propagation.TextMapPropagator) Option
- func WithPublicEndpoint() Option
- func WithPublicEndpointFn(fn func(*http.Request) bool) Option
- func WithSpanNameFormatter(fn func(routeName string, r *http.Request) string) Option
- func WithTracerProvider(provider oteltrace.TracerProvider) Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Middleware ¶
func Middleware(service string, opts ...Option) mux.MiddlewareFunc
Middleware sets up a handler to start tracing the incoming requests. The service parameter should describe the name of the (virtual) server handling the request.
func SemVersion ¶ added in v0.24.0
func SemVersion() string
SemVersion is the semantic version to be supplied to tracer/meter creation.
Types ¶
type Option ¶
type Option interface {
// contains filtered or unexported methods
}
Option specifies instrumentation configuration options.
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.1
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.1
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 WithSpanNameFormatter ¶ added in v0.38.0
WithSpanNameFormatter specifies a function to use for generating a custom span name. By default, the route name (path template or regexp) is used. The route name is provided so you can use it in the span name without needing to duplicate the logic for extracting it from the request.
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.