Turn any number in your spans and logs into a metric
Signal-to-metrics rules can now record a sum, gauge, or exponential histogram of a value you pick from a span or log record, counted before sampling.
Until now, a signal-to-metrics rule produced one fixed metric: a duration histogram for spans, or a count for logs. A number that lived in an attribute, such as a response size or a queue depth, stayed in the raw records, and charting it meant querying them.
Now a rule's Metric type can record a value you choose:
- Sum adds up the value from each matching span or log record, or counts the records. Mark it monotonic for values that only go up, such as bytes sent.
- Gauge keeps the last value in each aggregation interval, such as the current depth of a queue.
- Exponential histogram records how the values are distributed, so you can chart percentiles of payload size. A count can weight each value when one record describes a batch.
Pick an attribute in Simple mode, or write an OpenTelemetry Transformation Language (OTTL) expression for anything more involved. Both work for span rules and log rules, in the SignalControl UI and through the API.
Conversion still runs at ingestion, before sampling, so a metric from a span rule counts every matching span, including spans in traces you sample out. Existing rules work as before.
Good to know
- Rules convert telemetry that arrives after you save them. They do not backfill.
- On SignalControl Edge, these metric types need edge collector 1.6.0 or later. Upgrade every edge collector before you create one.
Read the docs: Convert Signals to Metrics









