otlpconfig

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultLogsPath is a default URL path for endpoint that
	// receives logs.
	DefaultLogsPath string = "/v1/logs"
	// DefaultTimeout is a default max waiting time for the backend to process
	// each logs 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 CleanPath

func CleanPath(urlPath string, defaultPath string) string

CleanPath returns a path with all spaces trimmed and all redundancies removed. If urlPath is empty or cleaning it results in an empty string, defaultPath is returned instead.

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 GetUserAgentHeader

func GetUserAgentHeader() string

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
	Logs 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

func WithHeaders

func WithHeaders(headers map[string]string) GenericOption

func WithInsecure

func WithInsecure() GenericOption

func WithProtocol

func WithProtocol(protocol Protocol) GenericOption

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 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 Protocol

type Protocol string
const (
	ExporterProtocolGrpc         Protocol = "grpc"
	ExporterProtocolHttpProtobuf Protocol = "http/protobuf"
	ExporterProtocolHttpJson     Protocol = "http/json"
)

func ApplyEnvProtocol

func ApplyEnvProtocol(protocol Protocol) Protocol

ApplyEnvProtocol Apply Protocol from environment to provided default value This function is subject to change or removal in future versions.

type SignalConfig

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

	// gRPC configurations
	GRPCCredentials credentials.TransportCredentials
}

Jump to

Keyboard shortcuts

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