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 ScrapeDiskUsage(ctx context.Context)
- 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, opts ...TransportOption) http.RoundTripper
- type MetricsTransport
- type TransportOption
Constants ¶
const ( DiskUsageScrapeInterval = 5 * time.Second DiskUsageScrapeIntervalEnv = "DISK_USAGE_SCRAPE_INTERVAL" )
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.5.156
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.5.156
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 ScrapeDiskUsage ¶ added in v0.5.156
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, opts ...TransportOption) http.RoundTripper
WrapTransport wraps an http.RoundTripper with instrumentation.
Types ¶
type MetricsTransport ¶ added in v0.5.156
type MetricsTransport struct {
http.RoundTripper
// contains filtered or unexported fields
}
type TransportOption ¶ added in v0.6.168
type TransportOption func(*metricsTransportOptions)
func WithSkipBucketize ¶ added in v0.6.168
func WithSkipBucketize(skip bool) TransportOption
WithSkipBucketize is a TransportOption that skips the bucketization of the host. This is useful for transports that talk to an unbounded number of hosts, where bucketization would cause excessive metric cardinality. If true, the host label will be set to "unbucketized".