Documentation ¶
Index ¶
- Variables
- type Config
- type Instance
- func (i *Instance) ApplyConfig(loki *loki.Loki, promInstanceManager instance.Manager, cfg InstanceConfig) error
- func (i *Instance) GetExporters() map[configmodels.DataType]map[configmodels.Exporter]component.Exporter
- func (i *Instance) GetExtensions() map[configmodels.Extension]component.ServiceExtension
- func (i *Instance) GetFactory(kind component.Kind, componentType configmodels.Type) component.Factory
- func (i *Instance) ReportFatalError(err error)
- func (i *Instance) Stop()
- type InstanceConfig
- type PushConfig
- type RemoteWriteConfig
- type SpanMetricsConfig
- type Tempo
Constants ¶
This section is empty.
Variables ¶
var DefaultPushConfig = PushConfig{
Compression: compressionGzip,
}
DefaultPushConfig holds the default settings for a PushConfig.
var DefaultRemoteWriteConfig = RemoteWriteConfig{
Compression: compressionGzip,
}
DefaultRemoteWriteConfig holds the default settings for a PushConfig.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Configs []InstanceConfig `yaml:"configs,omitempty"`
}
Config controls the configuration of Tempo trace pipelines.
func (*Config) UnmarshalYAML ¶
UnmarshalYAML implements yaml.Unmarshaler.
type Instance ¶ added in v0.12.0
type Instance struct {
// contains filtered or unexported fields
}
Instance wraps the OpenTelemetry collector to enable tracing pipelines
func NewInstance ¶ added in v0.12.0
func NewInstance(loki *loki.Loki, reg prometheus.Registerer, cfg InstanceConfig, logger *zap.Logger, promInstanceManager instance.Manager) (*Instance, error)
NewInstance creates and starts an instance of tracing pipelines.
func (*Instance) ApplyConfig ¶ added in v0.13.0
func (i *Instance) ApplyConfig(loki *loki.Loki, promInstanceManager instance.Manager, cfg InstanceConfig) error
ApplyConfig updates the configuration of the Instance.
func (*Instance) GetExporters ¶ added in v0.12.0
func (i *Instance) GetExporters() map[configmodels.DataType]map[configmodels.Exporter]component.Exporter
GetExporters implements component.Host
func (*Instance) GetExtensions ¶ added in v0.12.0
func (i *Instance) GetExtensions() map[configmodels.Extension]component.ServiceExtension
GetExtensions implements component.Host
func (*Instance) GetFactory ¶ added in v0.12.0
func (i *Instance) GetFactory(kind component.Kind, componentType configmodels.Type) component.Factory
GetFactory implements component.Host
func (*Instance) ReportFatalError ¶ added in v0.12.0
ReportFatalError implements component.Host
type InstanceConfig ¶ added in v0.12.0
type InstanceConfig struct { Name string `yaml:"name"` // Deprecated in favor of RemoteWrite and Batch. PushConfig PushConfig `yaml:"push_config,omitempty"` // 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/7d7ae2eb34b5d387627875c498d7f43619f37ee3/receiver/README.md Receivers map[string]interface{} `yaml:"receivers,omitempty"` // Batch: https://github.com/open-telemetry/opentelemetry-collector/blob/7d7ae2eb34b5d387627875c498d7f43619f37ee3/processor/batchprocessor/config.go#L24 Batch map[string]interface{} `yaml:"batch,omitempty"` // Attributes: https://github.com/open-telemetry/opentelemetry-collector/blob/7d7ae2eb34b5d387627875c498d7f43619f37ee3/processor/attributesprocessor/config.go#L30 Attributes map[string]interface{} `yaml:"attributes,omitempty"` // prom service discovery ScrapeConfigs []interface{} `yaml:"scrape_configs,omitempty"` // SpanMetricsProcessor: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/spanmetricsprocessor/README.md SpanMetrics *SpanMetricsConfig `yaml:"spanmetrics,omitempty"` // AutomaticLogging AutomaticLogging *automaticloggingprocessor.AutomaticLoggingConfig `yaml:"automatic_logging,omitempty"` // TailSampling defines a sampling strategy for the pipeline TailSampling *tailSamplingConfig `yaml:"tail_sampling"` }
InstanceConfig configures an individual Tempo trace pipeline.
type PushConfig ¶ added in v0.7.2
type PushConfig struct { Endpoint string `yaml:"endpoint,omitempty"` Compression string `yaml:"compression,omitempty"` Insecure bool `yaml:"insecure,omitempty"` InsecureSkipVerify bool `yaml:"insecure_skip_verify,omitempty"` BasicAuth *prom_config.BasicAuth `yaml:"basic_auth,omitempty,omitempty"` Batch map[string]interface{} `yaml:"batch,omitempty"` // https://github.com/open-telemetry/opentelemetry-collector/blob/7d7ae2eb34b5d387627875c498d7f43619f37ee3/processor/batchprocessor/config.go#L24 SendingQueue map[string]interface{} `yaml:"sending_queue,omitempty"` // https://github.com/open-telemetry/opentelemetry-collector/blob/7d7ae2eb34b5d387627875c498d7f43619f37ee3/exporter/exporterhelper/queued_retry.go#L30 RetryOnFailure map[string]interface{} `yaml:"retry_on_failure,omitempty"` // https://github.com/open-telemetry/opentelemetry-collector/blob/7d7ae2eb34b5d387627875c498d7f43619f37ee3/exporter/exporterhelper/queued_retry.go#L54 }
PushConfig controls the configuration of exporting to Grafana Cloud
func (*PushConfig) UnmarshalYAML ¶ added in v0.14.0
func (c *PushConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements yaml.Unmarshaler.
type RemoteWriteConfig ¶ added in v0.14.0
type RemoteWriteConfig struct { Endpoint string `yaml:"endpoint,omitempty"` Compression string `yaml:"compression,omitempty"` Insecure bool `yaml:"insecure,omitempty"` InsecureSkipVerify bool `yaml:"insecure_skip_verify,omitempty"` BasicAuth *prom_config.BasicAuth `yaml:"basic_auth,omitempty"` Headers map[string]string `yaml:"headers,omitempty"` SendingQueue map[string]interface{} `yaml:"sending_queue,omitempty"` // https://github.com/open-telemetry/opentelemetry-collector/blob/7d7ae2eb34b5d387627875c498d7f43619f37ee3/exporter/exporterhelper/queued_retry.go#L30 RetryOnFailure map[string]interface{} `yaml:"retry_on_failure,omitempty"` // https://github.com/open-telemetry/opentelemetry-collector/blob/7d7ae2eb34b5d387627875c498d7f43619f37ee3/exporter/exporterhelper/queued_retry.go#L54 }
RemoteWriteConfig controls the configuration of an exporter
func (*RemoteWriteConfig) UnmarshalYAML ¶ added in v0.14.0
func (c *RemoteWriteConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements yaml.Unmarshaler.
type SpanMetricsConfig ¶ added in v0.14.0
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 map[string]interface{} `yaml:"const_labels,omitempty"` // PromInstance is the Agent's prometheus instance that will be used to push metrics PromInstance string `yaml:"prom_instance"` // HandlerEndpoint is the address where a prometheus exporter will be exposed HandlerEndpoint string `yaml:"handler_endpoint"` }
SpanMetricsConfig controls the configuration of spanmetricsprocessor and the related metrics exporter.
type Tempo ¶
type Tempo struct {
// contains filtered or unexported fields
}
Tempo wraps the OpenTelemetry collector to enable tracing pipelines
func New ¶
func New(loki *loki.Loki, promInstanceManager instance.Manager, reg prom_client.Registerer, cfg Config, level logrus.Level) (*Tempo, error)
New creates and starts Loki log collection.