package otlpconfig
import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig"
Package otlpconfig provides configuration for the otlptrace exporters.
Index ¶
- Constants
- Variables
- func CreateTLSConfig(certBytes []byte) (*tls.Config, error)
- func WithEnvCompression(n string, fn func(Compression)) func(e *envconfig.EnvOptionsReader)
- type Compression
- type Config
- func ApplyGRPCEnvConfigs(cfg Config) Config
- func ApplyHTTPEnvConfigs(cfg Config) Config
- func NewGRPCConfig(opts ...GRPCOption) Config
- func NewHTTPConfig(opts ...HTTPOption) Config
- type GRPCOption
- type GenericOption
- func WithCompression(compression Compression) GenericOption
- func WithEndpoint(endpoint string) GenericOption
- func WithEndpointURL(v string) GenericOption
- func WithHTTPClient(c *http.Client) GenericOption
- func WithHeaders(headers map[string]string) GenericOption
- func WithInsecure() GenericOption
- func WithProxy(pf HTTPTransportProxyFunc) GenericOption
- func WithRetry(rc retry.Config) GenericOption
- func WithSecure() GenericOption
- func WithTLSClientConfig(tlsCfg *tls.Config) GenericOption
- func WithTimeout(duration time.Duration) GenericOption
- func WithURLPath(urlPath string) GenericOption
- type HTTPOption
- type HTTPTransportProxyFunc
- type Marshaler
- type SignalConfig
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 ¶
var DefaultEnvOptionsReader = envconfig.EnvOptionsReader{ GetEnv: os.Getenv, ReadFile: os.ReadFile, Namespace: "OTEL_EXPORTER_OTLP", }
DefaultEnvOptionsReader is the default environments reader.
Functions ¶
func CreateTLSConfig ¶
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 ¶
ApplyGRPCEnvConfigs applies the env configurations for gRPC.
func ApplyHTTPEnvConfigs ¶
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 ¶
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 WithHTTPClient ¶
func WithHTTPClient(c *http.Client) GenericOption
func WithHeaders ¶
func WithHeaders(headers map[string]string) GenericOption
func WithInsecure ¶
func WithInsecure() GenericOption
func WithProxy ¶
func WithProxy(pf HTTPTransportProxyFunc) 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 HTTPTransportProxyFunc ¶
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
// HTTP configurations
Proxy HTTPTransportProxyFunc
HTTPClient *http.Client
}
Source Files ¶
envconfig.go options.go optiontypes.go tls.go
- Version
- v1.37.0 (latest)
- Published
- Jun 25, 2025
- Platform
- linux/amd64
- Imports
- 19 packages
- Last checked
- 9 months ago –
Tools for package owners.