Thanos supports different tracing backends that implements
All clients are configured using
--tracing.config-file to reference to the configuration file or
--tracing.config to put yaml config directly.
You can either pass YAML file defined below in
--tracing.config-file or pass the YAML content directly using
We recommend the latter as it gives an explicit static view of configuration for each component. It also saves you the fuss of creating and managing additional file.
Don’t be afraid of multiline flags!
In Kubernetes it is as easy as (on Thanos sidecar example):
- args: - sidecar - | --objstore.config=type: GCS config: bucket: <bucket> - --prometheus.url=http://localhost:9090 - | --tracing.config=type: STACKDRIVER config: service_name: "" project_id: <project> sample_factor: 16 - --tsdb.path=/prometheus-data
At that point, anyone can use your provider by spec.
Current tracing supported backends:
Client for https://github.com/jaegertracing/jaeger tracing.
type: JAEGER config: service_name: "" disabled: false rpc_metrics: false tags: "" sampler_type: "" sampler_param: 0 sampler_manager_host_port: "" sampler_max_operations: 0 sampler_refresh_interval: 0s reporter_max_queue_size: 0 reporter_flush_interval: 0s reporter_log_spans: false endpoint: "" user: "" password: "" agent_host: "" agent_port: 0
Client for https://cloud.google.com/trace/ tracing.
type: STACKDRIVER config: service_name: "" project_id: "" sample_factor: 0
Client for https://www.elastic.co/products/apm tracing.
type: ELASTIC_APM config: service_name: "" service_version: "" service_environment: ""