otlpconfig

package
v1.33.0 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultTracesPath is a default URL path for endpoint that
	// receives spans.
	DefaultTracesPath string = "/v1/traces"
	// DefaultTimeout is a default max waiting time for the backend to process
	// each span batch.
	DefaultTimeout time.Duration = 10 * time.Second
)
View Source
const (
	// DefaultCollectorGRPCPort is the default gRPC port of the collector.
	DefaultCollectorGRPCPort uint16 = 4317
	// DefaultCollectorHTTPPort is the default HTTP port of the collector.
	DefaultCollectorHTTPPort uint16 = 4318
	// DefaultCollectorHost is the host address the Exporter will attempt
	// connect to if no collector address is provided.
	DefaultCollectorHost string = "localhost"
)

Variables

View Source
var DefaultEnvOptionsReader = envconfig.EnvOptionsReader{
	GetEnv:    os.Getenv,
	ReadFile:  os.ReadFile,
	Namespace: "OTEL_EXPORTER_OTLP",
}

DefaultEnvOptionsReader is the default environments reader.

Functions

func CreateTLSConfig

func CreateTLSConfig(certBytes []byte) (*tls.Config, error)

CreateTLSConfig creates a tls.Config from a raw certificate bytes to verify a server certificate.

func WithEnvCompression

func WithEnvCompression(n string, fn func(Compression)) func(e *envconfig.EnvOptionsReader)

WithEnvCompression retrieves the specified config and passes it to ConfigFn as a Compression.

Types

type Compression

type Compression int

Compression describes the compression used for payloads sent to the collector.

const (
	// NoCompression tells the driver to send payloads without
	// compression.
	NoCompression Compression = iota
	// GzipCompression tells the driver to send payloads after
	// compressing them with gzip.
	GzipCompression
)

type Config

type Config struct {
	// Signal specific configurations
	Traces SignalConfig

	RetryConfig retry.Config

	// gRPC configurations
	ReconnectionPeriod time.Duration
	ServiceConfig      string
	DialOptions        []grpc.DialOption
	GRPCConn           *grpc.ClientConn
}

func ApplyGRPCEnvConfigs

func ApplyGRPCEnvConfigs(cfg Config) Config

ApplyGRPCEnvConfigs applies the env configurations for gRPC.

func ApplyHTTPEnvConfigs

func ApplyHTTPEnvConfigs(cfg Config) Config

ApplyHTTPEnvConfigs applies the env configurations for HTTP.

func NewGRPCConfig

func NewGRPCConfig(opts ...GRPCOption) Config

NewGRPCConfig returns a new Config with all settings applied from opts and any unset setting using the default gRPC config values.

func NewHTTPConfig

func NewHTTPConfig(opts ...HTTPOption) Config

NewHTTPConfig returns a new Config with all settings applied from opts and any unset setting using the default HTTP config values.

type GRPCOption

type GRPCOption interface {
	ApplyGRPCOption(Config) Config
	// contains filtered or unexported methods
}

GRPCOption applies an option to the gRPC driver.

func NewGRPCOption

func NewGRPCOption(fn func(cfg Config) Config) GRPCOption

type GenericOption

type GenericOption interface {
	ApplyHTTPOption(Config) Config
	ApplyGRPCOption(Config) Config
	// contains filtered or unexported methods
}

GenericOption applies an option to the HTTP or gRPC driver.

func WithCompression

func WithCompression(compression Compression) GenericOption

func WithEndpoint

func WithEndpoint(endpoint string) GenericOption

WithEndpoint configures the trace host and port only; endpoint should resemble "example.com" or "localhost:4317". To configure the scheme and path, use WithEndpointURL.

func WithEndpointURL added in v1.23.0

func WithEndpointURL(v string) GenericOption

WithEndpointURL configures the trace scheme, host, port, and path; the provided value should resemble "https://example.com:4318/v1/traces".

func WithHeaders

func WithHeaders(headers map[string]string) GenericOption

func WithInsecure

func WithInsecure() GenericOption

func WithProxy added in v1.25.0

func WithRetry

func WithRetry(rc retry.Config) GenericOption

func WithSecure

func WithSecure() GenericOption

func WithTLSClientConfig

func WithTLSClientConfig(tlsCfg *tls.Config) GenericOption

func WithTimeout

func WithTimeout(duration time.Duration) GenericOption

func WithURLPath

func WithURLPath(urlPath string) GenericOption

type HTTPOption

type HTTPOption interface {
	ApplyHTTPOption(Config) Config
	// contains filtered or unexported methods
}

HTTPOption applies an option to the HTTP driver.

func NewHTTPOption

func NewHTTPOption(fn func(cfg Config) Config) HTTPOption

type HTTPTransportProxyFunc added in v1.25.0

type HTTPTransportProxyFunc func(*http.Request) (*url.URL, error)

HTTPTransportProxyFunc is a function that resolves which URL to use as proxy for a given request. This type is compatible with `http.Transport.Proxy` and can be used to set a custom proxy function to the OTLP HTTP client.

type Marshaler

type Marshaler int

Marshaler describes the kind of message format sent to the collector.

const (
	// MarshalProto tells the driver to send using the protobuf binary format.
	MarshalProto Marshaler = iota
	// MarshalJSON tells the driver to send using json format.
	MarshalJSON
)

type SignalConfig

type SignalConfig struct {
	Endpoint    string
	Insecure    bool
	TLSCfg      *tls.Config
	Headers     map[string]string
	Compression Compression
	Timeout     time.Duration
	URLPath     string

	// gRPC configurations
	GRPCCredentials credentials.TransportCredentials

	Proxy HTTPTransportProxyFunc
}

Jump to

Keyboard shortcuts

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