Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultRemoteWriteConfig = RemoteWriteConfig{
Compression: compressionGzip,
Protocol: protocolGRPC,
Format: formatOtlp,
}
DefaultRemoteWriteConfig holds the default settings for a PushConfig.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Configs []InstanceConfig `yaml:"configs,omitempty"` // Unmarshaled is true when the Config was unmarshaled from YAML. Unmarshaled bool `yaml:"-"` }
Config controls the configuration of Traces trace pipelines.
func (*Config) UnmarshalYAML ¶
UnmarshalYAML implements yaml.Unmarshaler.
type InstanceConfig ¶
type InstanceConfig struct { Name string `yaml:"name"` // RemoteWrite defines one or multiple backends that can receive the pipeline's traffic. RemoteWrite []RemoteWriteConfig `yaml:"remote_write,omitempty"` // Receivers: // https://github.com/open-telemetry/opentelemetry-collector/blob/v0.96.0/receiver/README.md Receivers ReceiverMap `yaml:"receivers,omitempty"` // Batch: // https://github.com/open-telemetry/opentelemetry-collector/tree/v0.96.0/processor/batchprocessor Batch map[string]interface{} `yaml:"batch,omitempty"` // Attributes: // https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.96.0/processor Attributes map[string]interface{} `yaml:"attributes,omitempty"` // prom service discovery config ScrapeConfigs []interface{} `yaml:"scrape_configs,omitempty"` OperationType string `yaml:"prom_sd_operation_type,omitempty"` PodAssociations []string `yaml:"prom_sd_pod_associations,omitempty"` // SpanMetricsProcessor: SpanMetrics *SpanMetricsConfig `yaml:"spanmetrics,omitempty"` // AutomaticLogging AutomaticLogging *automaticloggingprocessor.AutomaticLoggingConfig `yaml:"automatic_logging,omitempty"` // TailSampling defines a sampling strategy for the pipeline // https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.96.0/processor/tailsamplingprocessor TailSampling *tailSamplingConfig `yaml:"tail_sampling,omitempty"` // LoadBalancing is used to distribute spans of the same trace to the same agent instance // https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.96.0/exporter/loadbalancingexporter LoadBalancing *loadBalancingConfig `yaml:"load_balancing"` // ServiceGraphs ServiceGraphs *serviceGraphsConfig `yaml:"service_graphs,omitempty"` // Jaeger's Remote Sampling extension: // https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.96.0/extension/jaegerremotesampling JaegerRemoteSampling []JaegerRemoteSamplingConfig `yaml:"jaeger_remote_sampling"` }
InstanceConfig configures an individual Traces trace pipeline.
func (*InstanceConfig) OtelConfig ¶
func (c *InstanceConfig) OtelConfig() (*otelcol.Config, error)
type JaegerRemoteSamplingConfig ¶
type JaegerRemoteSamplingConfig map[string]interface{}
JaegerRemoteSamplingMap is a set of Jaeger Remote Sampling extensions. Because receivers may be configured with an unknown set of sensitive information, ReceiverMap will marshal as YAML to the text "<secret>".
func (JaegerRemoteSamplingConfig) MarshalYAML ¶
func (jrsm JaegerRemoteSamplingConfig) MarshalYAML() (interface{}, error)
MarshalYAML implements yaml.Marshaler.
type OAuth2Config ¶
type OAuth2Config struct { ClientID string `yaml:"client_id"` ClientSecret SecretString `yaml:"client_secret"` EndpointParams url.Values `yaml:"endpoint_params,omitempty"` TokenURL string `yaml:"token_url"` Scopes []string `yaml:"scopes,omitempty"` TLS TLSClientSetting `yaml:"tls,omitempty"` Timeout time.Duration `yaml:"timeout,omitempty"` }
OAuth2Config configures the oauth2client extension for a remote_write exporter compatible with oauth2clientauthextension.Config
type ReceiverMap ¶
type ReceiverMap map[string]interface{}
ReceiverMap stores a set of receivers. Because receivers may be configured with an unknown set of sensitive information, ReceiverMap will marshal as YAML to the text "<secret>".
func (ReceiverMap) MarshalYAML ¶
func (r ReceiverMap) MarshalYAML() (interface{}, error)
MarshalYAML implements yaml.Marshaler.
func (*ReceiverMap) UnmarshalYAML ¶
func (r *ReceiverMap) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements yaml.Unmarshaler.
type RemoteWriteConfig ¶
type RemoteWriteConfig struct { Endpoint string `yaml:"endpoint,omitempty"` Compression string `yaml:"compression,omitempty"` Protocol string `yaml:"protocol,omitempty"` Insecure bool `yaml:"insecure,omitempty"` Format string `yaml:"format,omitempty"` // Deprecated InsecureSkipVerify bool `yaml:"insecure_skip_verify,omitempty"` TLSConfig *prom_config.TLSConfig `yaml:"tls_config,omitempty"` BasicAuth *prom_config.BasicAuth `yaml:"basic_auth,omitempty"` Oauth2 *OAuth2Config `yaml:"oauth2,omitempty"` Headers map[string]string `yaml:"headers,omitempty"` SendingQueue map[string]interface{} `yaml:"sending_queue,omitempty"` // https://github.com/open-telemetry/opentelemetry-collector/blob/v0.96.0/exporter/exporterhelper/queued_retry.go RetryOnFailure map[string]interface{} `yaml:"retry_on_failure,omitempty"` // https://github.com/open-telemetry/opentelemetry-collector/blob/v0.96.0/exporter/exporterhelper/queued_retry.go }
RemoteWriteConfig controls the configuration of an exporter
func (*RemoteWriteConfig) UnmarshalYAML ¶
func (c *RemoteWriteConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements yaml.Unmarshaler.
type SecretString ¶
type SecretString string
A string type for secrets like passwords. Hides the value of the string during marshaling.
func (SecretString) MarshalYAML ¶
func (s SecretString) MarshalYAML() (interface{}, error)
MarshalYAML implements yaml.Marshaler.
type SpanMetricsConfig ¶
type SpanMetricsConfig struct { LatencyHistogramBuckets []time.Duration `yaml:"latency_histogram_buckets,omitempty"` Dimensions []spanmetricsprocessor.Dimension `yaml:"dimensions,omitempty"` // Namespace if set, exports metrics under the provided value. Namespace string `yaml:"namespace,omitempty"` // ConstLabels are values that are applied for every exported metric. ConstLabels *prometheus.Labels `yaml:"const_labels,omitempty"` // MetricsInstance is the Agent's metrics instance that will be used to push metrics MetricsInstance string `yaml:"metrics_instance"` // HandlerEndpoint is the address where a prometheus exporter will be exposed HandlerEndpoint string `yaml:"handler_endpoint"` // DimensionsCacheSize defines the size of cache for storing Dimensions, which helps to avoid cache memory growing // indefinitely over the lifetime of the collector. DimensionsCacheSize int `yaml:"dimensions_cache_size"` // Defines the aggregation temporality of the generated metrics. Can be either of: // * "AGGREGATION_TEMPORALITY_CUMULATIVE" // * "AGGREGATION_TEMPORALITY_DELTA" AggregationTemporality string `yaml:"aggregation_temporality"` // MetricsEmitInterval is the time period between when metrics are flushed // or emitted to the configured MetricsInstance or HandlerEndpoint. MetricsFlushInterval time.Duration `yaml:"metrics_flush_interval"` }
SpanMetricsConfig controls the configuration of spanmetricsprocessor and the related metrics exporter.
type TLSClientSetting ¶
type TLSClientSetting struct { CAFile string `yaml:"ca_file,omitempty"` CAPem SecretString `yaml:"ca_pem,omitempty"` IncludeSystemCACertsPool bool `yaml:"include_system_ca_certs_pool"` CertFile string `yaml:"cert_file,omitempty"` CertPem SecretString `yaml:"cert_pem,omitempty"` KeyFile string `yaml:"key_file,omitempty"` KeyPem SecretString `yaml:"key_pem,omitempty"` MinVersion string `yaml:"min_version,omitempty"` MaxVersion string `yaml:"max_version,omitempty"` CipherSuites []string `yaml:"cipher_suites,omitempty"` ReloadInterval time.Duration `yaml:"reload_interval"` Insecure bool `yaml:"insecure"` InsecureSkipVerify bool `yaml:"insecure_skip_verify"` ServerNameOverride string `yaml:"server_name_override,omitempty"` }
TLSClientSetting configures the oauth2client extension TLS; compatible with configtls.TLSClientSetting