otel

package
v1.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HTTPHandler

func HTTPHandler(tracer trace.Tracer) func(http.Handler) http.Handler

HTTPHandler returns an HTTP middleware that creates OpenTelemetry spans for incoming requests. It extracts trace context from request headers to support distributed tracing, records the HTTP method, URL, and status code, and marks spans as errors for 4xx/5xx responses.

func HTTPHandlerFunc

func HTTPHandlerFunc(tracer trace.Tracer) func(http.HandlerFunc) http.HandlerFunc

HTTPHandlerFunc is like HTTPHandler but wraps http.HandlerFunc directly. This is useful for routers that use HandlerFunc.

func NewProvider

func NewProvider(endpoint, header, name string, attrs ...Attr) (*sdktrace.TracerProvider, error)

NewProvider creates a new OpenTelemetry tracer provider. It expects a endpoint formatted as host:port for HTTPS endpoints, or a URL with a http, https, grpc or grpcs scheme, host, port and optional path.

func RedactedURL

func RedactedURL(u *url.URL) string

RedactedURL returns the URL with password redacted

func StartHTTPClientSpan

func StartHTTPClientSpan(tracer trace.Tracer, req *http.Request) (*http.Request, func(*http.Response, error))

StartHTTPClientSpan starts a span for an outgoing HTTP client request. It injects trace context into request headers for distributed tracing. Returns the modified request (with trace context in headers) and a finish function to call after receiving the response.

Usage:

req, finishSpan := otel.StartHTTPClientSpan(tracer, req)
resp, err := client.Do(req)
finishSpan(resp, err)

func StartSpan

func StartSpan(tracer trace.Tracer, ctx context.Context, name string, attrs ...attribute.KeyValue) (context.Context, func(error))

StartSpan starts a new OTEL span with the given name and optional attributes. Returns the context (with span) and an end function that records any error and ends the span. If tracer is nil, returns the original context and a no-op.

Usage:

ctx, endSpan := otel.StartSpan(tracer, ctx, "MyOperation", attribute.String("key", "value"))
defer func() { endSpan(err) }()

Types

type Attr

type Attr struct {
	Key   string
	Value string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL