...

Package otlpconfig

import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig"
Overview
Index

Overview ▾

Constants

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

DefaultEnvOptionsReader is the default environments reader.

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

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.

type Compression

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

type Compression int
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

GRPCOption applies an option to the gRPC driver.

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

func NewGRPCOption

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

type GenericOption

GenericOption applies an option to the HTTP or gRPC driver.

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

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

HTTPOption applies an option to the HTTP driver.

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

func NewHTTPOption

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

type Marshaler

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

type Marshaler int
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
}