Metrics-generator in Grafana Cloud Traces
The Tempo metrics-generator can derive metrics from traces as they are ingested. When used in Grafana Cloud, the metrics-generator writes metrics directly to the hosted Prometheus instance in the same stack.
For more information about the metrics-generator and the metrics it creates, see Grafana Tempo | Server-side metrics. This document describes the Grafana Cloud-specific capabilities.
NOTE: metrics generation is disabled by default. Contact Grafana Support to enable metrics generation for your organization!
Constraints and good to know
- The active series sent to the hosted Prometheus instance is billed like regular metrics.
- Metrics can only be sent to a hosted Prometheus instance in the same region.
- If traces are down-sampled before reaching Tempo, the metrics will be lower than reality.
Monitoring the metrics-generator
grafanacloud-usage data source exposes several metrics about the metrics-generator.
Amount of active series:
Amount of active series being limited:
How this works
When the amount of active series in Tempo reaches a configurable limit, no new active series are added. Grafana Cloud Traces keeps updating the existing series. The series exceeding the limit are dropped.
The following settings can be configured in Grafana Cloud Traces. Contact Grafana Support to tweak any of these settings.
|Enabled processor||The metrics processors to enable; options include service graphs and/or span metrics.|
|Max active series||The maximum amount of active series.|
|Collection interval||How often samples are collected from the active series. Defaults to every 15s or 4 DPM.|
|Histogram buckets||The buckets used for the histograms generated by the metrics-generator. This can be configured per processor.|
|Dimensions||Additional dimensions to be added to the generated metrics. If this dimension is present in the span attributes, it is included as a label in the metrics. This can be configured per processor.|
NOTE: characters that are not valid Prometheus labels are sanitized. For example the trace attribute
k8s.namespacebecomes the Prometheus label