Documentation ¶
Overview ¶
Copyright 2024 Chainguard, Inc. SPDX-License-Identifier: Apache-2.0
Copyright 2024 Chainguard, Inc. SPDX-License-Identifier: Apache-2.0
Index ¶
- Constants
- Variables
- func ExtractInnerTransport(rt http.RoundTripper) http.RoundTripper
- func Handler(name string, handler http.Handler) http.Handler
- func HandlerFunc(name string, f func(http.ResponseWriter, *http.Request)) http.HandlerFunc
- func NewIDTokenClient(ctx context.Context, audience string, opts ...idtoken.ClientOption) (*http.Client, error)
- func ServeMetrics()
- func SetBucketSuffixes(bs map[string]string)
- func SetBuckets(b map[string]string)
- func SetupTracer(ctx context.Context) func()
- func WrapTransport(t http.RoundTripper) http.RoundTripper
- type MetricsTransport
Constants ¶
const ( CeTypeHeader string = "ce-type" GoogClientTraceHeader string = "googclient_traceparent" OriginalTraceHeader string = "original-traceparent" )
Variables ¶
var Transport = WrapTransport(http.DefaultTransport)
Transport is an http.RoundTripper that records metrics for each request.
Functions ¶
func ExtractInnerTransport ¶ added in v0.6.15
func ExtractInnerTransport(rt http.RoundTripper) http.RoundTripper
func HandlerFunc ¶
func HandlerFunc(name string, f func(http.ResponseWriter, *http.Request)) http.HandlerFunc
Handler wraps a given http handler func in standard metrics handlers.
func NewIDTokenClient ¶ added in v0.6.15
func NewIDTokenClient(ctx context.Context, audience string, opts ...idtoken.ClientOption) (*http.Client, error)
NewIDTokenClient creates a new http.Client based on idtoken.Client, with metrics.
func ServeMetrics ¶
func ServeMetrics()
ServeMetrics serves the metrics endpoint if the METRICS_PORT env var is set.
func SetBucketSuffixes ¶
func SetBuckets ¶
func SetupTracer ¶
Fractions >= 1 will always sample. Fractions < 0 are treated as zero. To respect the parent trace's `SampledFlag`, the `TraceIDRatioBased` sampler should be used as a delegate of a `Parent` sampler.
Expected usage:
defer metrics.SetupTracer(ctx)()
func WrapTransport ¶
func WrapTransport(t http.RoundTripper) http.RoundTripper
WrapTransport wraps an http.RoundTripper with instrumentation.
Types ¶
type MetricsTransport ¶ added in v0.6.15
type MetricsTransport struct { http.RoundTripper // contains filtered or unexported fields }