tracing

package
v0.42.1 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2022 License: Apache-2.0 Imports: 1 Imported by: 6

Documentation

Overview

Package tracing enables dependency-injection at runtime. When used together with an underscore-import of `github.com/open-policy-agent/opa/features/tracing`, the server and its runtime will emit OpenTelemetry spans to the configured sink.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewHandler

func NewHandler(f http.Handler, label string, opts Options) http.Handler

NewHandler returns another http.Handler, instrumented to emit tracing spans according to Options. Provided by the HTTPTracingService registered with this package via RegisterHTTPTracing.

func NewTransport

func NewTransport(tr http.RoundTripper, opts Options) http.RoundTripper

NewTransport returns another http.RoundTripper, instrumented to emit tracing spans according to Options. Provided by the HTTPTracingService registered with this package via RegisterHTTPTracing.

func RegisterHTTPTracing

func RegisterHTTPTracing(ht HTTPTracingService)

RegisterHTTPTracing enables a HTTPTracingService for further use.

Types

type HTTPTracingService

type HTTPTracingService interface {
	// NewTransport is used when setting up an HTTP client
	NewTransport(http.RoundTripper, Options) http.RoundTripper

	// NewHandler is used to wrap an http.Handler in the server
	NewHandler(http.Handler, string, Options) http.Handler
}

HTTPTracingService defines how distributed tracing comes in, server- and client-side

type Options

type Options []interface{}

Options are options for the HTTPTracingService, passed along as-is.

func NewOptions

func NewOptions(opts ...interface{}) Options

NewOptions is a helper method for constructing `tracing.Options`

Jump to

Keyboard shortcuts

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