Dash0 Raises $110M Series B at $1B Valuation

Last updated: April 21, 2026

Built-in Service Metrics

Reference documentation for dash0.spans.red, the histogram that powers service-level rate, error, and duration views in Dash0.

Dash0 automatically generates a small set of metrics from your spans to power the Service Catalog and the Service Map. You do not need to emit these metrics yourself, and they are not billed as custom metrics.

dash0.spans.red

dash0.spans.red is the metric behind every request rate, error rate, and latency percentile shown in service views. It captures the three RED signals for each service and operation in a single exponential histogram.

RED stands for the three golden signals of service performance:

  • Rate: Requests per second, used for traffic volume and capacity planning.
  • Errors: Error percentage, used to track service health and reliability.
  • Duration: Latency distribution, used for user experience and SLO compliance.

Metric Properties

PropertyValue
Namedash0.spans.red
TypeExponential histogram
UnitSeconds (span duration)

How RED Signals Are Derived

All three RED signals come from the same histogram:

  • Rate: Histogram count over time gives requests per second.
  • Errors: Filter by otel.span.status.code = STATUS_CODE_ERROR, then count.
  • Duration: The histogram's bucket distribution provides latency percentiles (p50, p95, p99, and so on).

Attributes

Each data point carries the following attributes, which you can use to group, filter, and alert:

AttributeSourcePurpose
service.nameResourceGroup metrics by service.
otel.span.kindSpanDistinguish CLIENT, SERVER, INTERNAL, PRODUCER, and CONSUMER spans.
otel.span.status.codeSpanFilter error spans.
dash0.operation.typeDerivedCategory of the operation, for example http, database, or rpc.
dash0.operation.nameDerivedNormalized operation name, for example a parameterized HTTP route.

Relationship to Operation Names

An operation in Dash0 loosely corresponds to an API endpoint that a service exposes: an HTTP route it serves, a gRPC method it implements, a database query it answers, or a queue it consumes from. It describes what the service does when something calls it, not the outgoing calls the service itself makes to other systems. In OpenTelemetry terms, operations are derived from SERVER and CONSUMER spans, and from root spans that represent a unit of work; CLIENT and PRODUCER spans, which represent outbound HTTP requests, database calls, or messages the service sends, are not treated as operations of the calling service. See Operations for the full set of rules.

dash0.spans.red is grouped by dash0.operation.name, and the two are designed together. A RED histogram is only useful if its dimensions have bounded cardinality and are stable over time, and operation names are what make that possible:

  • Bounded cardinality: Raw OpenTelemetry span names often embed per-request values such as IDs, query strings, or full URLs. Using span names directly as a metric dimension would create a new time series for every unique path (for example GET /users/123, GET /users/124, and so on) and quickly exhaust cardinality budgets. dash0.operation.name collapses these into parameterized forms like GET /users/{id}, which keeps the histogram's per-service dimensions finite and stable.
  • Cross-instrumentation consistency: Dash0 derives dash0.operation.name from OpenTelemetry semantic conventions, so HTTP, database, messaging, and RPC spans all get comparable names regardless of which instrumentation library produced them. This is why the Service Catalog and Service Map can show a single "Operations" list per service with consistent rate, error, and duration numbers.
  • The "per-operation" numbers come from this grouping: The per-operation request rates, error rates, and latencies shown in the Service Catalog are literally dash0.spans.red sliced by dash0.operation.name (and dash0.operation.type). Anything that affects operation naming, such as overriding dash0.operation.name on a span, directly changes how RED is grouped.

For this reason, dash0.spans.red is only generated after operation names have been derived.

Info

This is why website and mobile monitoring do not surface operations. Browser and mobile telemetry describes what happens on the user's device: page loads, user interactions, outbound requests to your backend, and client-side errors. In span terms, these are CLIENT and root INTERNAL spans rather than server-side SERVER or CONSUMER spans, so there is no exposed API endpoint for Dash0 to attribute an operation to. Website telemetry has its own purpose-built views in Dash0 instead of appearing in the Service Catalog's operations list. Mobile telemetry does not yet have dedicated views.