Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOCS] Missing metrics_generator.traces_storage, metrics_generator.query_timeout and metrics_generator.override_ring_key #3642

Open
WesselAtWork opened this issue May 2, 2024 · 3 comments · May be fixed by #3643
Assignees
Labels
type/docs Improvements or additions to documentation

Comments

@WesselAtWork
Copy link

Noticed that some keys are missing in the documentation for the complete configuration.

Ring RingConfig `yaml:"ring"`
Processor ProcessorConfig `yaml:"processor"`
Registry registry.Config `yaml:"registry"`
Storage storage.Config `yaml:"storage"`
TracesWAL wal.Config `yaml:"traces_storage"`
// MetricsIngestionSlack is the max amount of time passed since a span's end time
// for the span to be considered in metrics generation
MetricsIngestionSlack time.Duration `yaml:"metrics_ingestion_time_range_slack"`
QueryTimeout time.Duration `yaml:"query_timeout"`
OverrideRingKey string `yaml:"override_ring_key"`

```yaml
# Metrics-generator configuration block
metrics_generator:
# Ring configuration
ring:
kvstore:
# The metrics-generator uses the ring to balance work across instances. The ring is stored
# in a key-vault store.
[store: <string> | default = memberlist]
# Processor-specific configuration
processor:
service_graphs:
# Wait is the value to wait for an edge to be completed.
[wait: <duration> | default = 10s]
# MaxItems is the amount of edges that will be stored in the store.
[max_items: <int> | default = 10000]
# Workers is the amount of workers that will be used to process the edges
[workers: <int> | default = 10]
# Buckets for the latency histogram in seconds.
[histogram_buckets: <list of float> | default = 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 12.8]
# Additional dimensions to add to the metrics. Dimensions are searched for in the
# resource and span attributes and are added to the metrics if present.
[dimensions: <list of string>]
# Prefix additional dimensions with "client_" and "_server". Adds two labels
# per additional dimension instead of one.
[enable_client_server_prefix: <bool> | default = false]
# Attribute Key to multiply span metrics
[span_multiplier_key: <string> | default = ""]
# Enables additional labels for services and virtual nodes.
[enable_virtual_node_label: <bool> | default = false]
span_metrics:
# Buckets for the latency histogram in seconds.
[histogram_buckets: <list of float> | default = 0.002, 0.004, 0.008, 0.016, 0.032, 0.064, 0.128, 0.256, 0.512, 1.02, 2.05, 4.10]
# Configure intrinsic dimensions to add to the metrics. Intrinsic dimensions are taken
# directly from the respective resource and span properties.
intrinsic_dimensions:
# Whether to add the name of the service the span is associated with.
[service: <bool> | default = true]
# Whether to add the name of the span.
[span_name: <bool> | default = true]
# Whether to add the span kind describing the relationship between spans.
[span_kind: <bool> | default = true]
# Whether to add the span status code.
[status_code: <bool> | default = true]
# Whether to add a status message. Important note: The span status message may
# contain arbitrary strings and thus have a very high cardinality.
[status_message: <bool> | default = false]
# Additional dimensions to add to the metrics along with the intrinsic dimensions.
# Dimensions are searched for in the resource and span attributes and are added to
# the metrics if present.
[dimensions: <list of string>]
# Custom labeling of dimensions is possible via a list of maps consisting of
# "name" <string>, "source_labels" <list of string>, "join" <string>
# "name" appears in the metrics, "source_labels" are the actual
# attributes that will make up the value of the label and "join" is the
# separator if multiple source_labels are provided
[dimension_mappings: <list of map>]
# Enable traces_target_info metrics
[enable_target_info: <bool>]
# Drop specific labels from traces_target_info metrics
[target_info_excluded_dimensions: <list of string>]
# Attribute Key to multiply span metrics
[span_multiplier_key: <string> | default = ""]
# Registry configuration
registry:
# Interval to collect metrics and remote write them.
[collection_interval: <duration> | default = 15s]
# Interval after which a series is considered stale and will be deleted from the registry.
# Once a metrics series is deleted it won't be emitted anymore, keeping active series low.
[stale_duration: <duration> | default = 15m]
# A list of labels that will be added to all generated metrics.
[external_labels: <map>]
# The maximum length of label names. Label names exceeding this limit will be truncated.
[max_label_name_length: <int> | default = 1024]
# The maximum length of label values. Label values exceeding this limit will be truncated.
[max_label_value_length: <int> | default = 2048]
# Storage and remote write configuration
storage:
# Path to store the WAL. Each tenant will be stored in its own subdirectory.
path: <string>
# Configuration for the Prometheus Agent WAL
wal:
# How long to wait when flushing samples on shutdown
[remote_write_flush_deadline: <duration> | default = 1m]
# Whether to add X-Scope-OrgID header in remote write requests
[remote_write_add_org_id_header: <bool> | default = true]
# A list of remote write endpoints.
# https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write
remote_write:
[- <Prometheus remote write config>]
# This option only allows spans with end times that occur within the configured duration to be
# considered in metrics generation.
# This is to filter out spans that are outdated.
[metrics_ingestion_time_range_slack: <duration> | default = 30s]
```

@joe-elliott joe-elliott added the type/docs Improvements or additions to documentation label May 2, 2024
@joe-elliott
Copy link
Member

Thanks for the heads up!

@WesselAtWork WesselAtWork linked a pull request May 2, 2024 that will close this issue
@derek-cadzow derek-cadzow self-assigned this May 3, 2024
@derek-cadzow
Copy link

Assigning to myself so that it can be reassigned to our new Mimir writer when she has started and is on board.

@knylander-grafana
Copy link
Contributor

knylander-grafana commented May 21, 2024

@derek-cadzow, this is a Tempo configuration for the metrics-generator, a component used in Tempo to generate metrics from traces. @WesselAtWork has an excellent doc PR to update the metrics-generator doc (#3643).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/docs Improvements or additions to documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants