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

Last updated: May 29, 2026

Understand Metrics About Synthetic Checks

Dash0 automatically captures a set of HTTP timing and execution counters for every synthetic check.

These metrics allow you to analyze network performance at a granular level and build alerts or dashboards around them. These metrics are not billed.

MetricTypeDescription
dash0.synthetic_check.http.connection.durationHistogramTime taken to establish the TCP connection with the target host. High values may indicate network congestion or server saturation.
dash0.synthetic_check.http.dns.durationHistogramTime spent resolving the DNS hostname of the target. Useful to detect DNS misconfigurations or slow upstream resolvers.
dash0.synthetic_check.http.request.durationHistogramTime taken to send the full HTTP request to the server. Large values can suggest client-side delays or issues pushing payloads.
dash0.synthetic_check.http.response.durationHistogramTime from sending the request until the first byte of the response is received ("TTFB" – time to first byte). High values point to backend slowness.
dash0.synthetic_check.http.ssl.durationHistogramDuration of the TLS/SSL handshake. Spikes can indicate certificate issues or overloaded TLS termination.
dash0.synthetic_check.http.total.durationHistogramEnd-to-end duration of the entire check, from DNS resolution through response reception. This is the key metric for overall availability and latency SLOs.
dash0.synthetic_check.runsSumTotal number of synthetic check executions, including successes and failures. Useful for error-rate calculations and coverage validation.
Note

The metrics generated by synthetic checks are actual metric data points. That is, they are not synthetic metrics, which are instead calculated on the fly based on spans, logs or web events. We should have thought about Synthetic Monitoring back when, when we picked the "synthetic metrics" moniker, but alas.

Attributes

All synthetic check metrics include labels that enable filtering and grouping for dashboards and alerts.

General Attributes

Synthetic check run metrics have a variety of attributes designed to enable filtering, grouping, and troubleshooting. These attributes make it possible to filter dashboards and alerts by check ID, location, or failure type. For example, you can compare performance between probe regions, or build an alert that triggers only on failed critical assertions.

AttributeDescription
dash0.synthetic_check.attemptSequential attempt number for this check run. Useful for correlating retries.
dash0.synthetic_check.attempt_idUnique identifier for a single attempt within a run.
dash0.synthetic_check.run_idUnique identifier for the full check run. Links together all attempts and collected telemetry.
dash0.synthetic_check.locationRegion or probe location from which the check was executed (e.g., us-east, eu-central).
dash0.synthetic_check.failed_critical_assertionsCount of failed assertions marked as critical in the check definition.
dash0.synthetic_check.failed_degraded_assertionsCount of failed assertions marked as degraded in the check definition.
dash0.synthetic_check.passed_critical_assertionsCount of passed assertions marked critical.
dash0.synthetic_check.passed_degraded_assertionsCount of passed assertions marked degraded.
dash0.synthetic_check.outcomeOutcome of a check run: Passed, Degraded, or Failed.

Error Attributes

Classify and group failures by error type to identify patterns and root causes.

Use these fields to classify and group failures. For instance, a spike in dns_error types suggests an upstream DNS problem, while http_error may point to application-level issues.

HTTP Request and Response Attributes

Every check execution records detailed request and response metadata for debugging and validation.

Synthetic Monitoring captures both the request sent and the response received.

Request Attributes

AttributeDescription
http.request.methodHTTP verb used (GET, POST, PUT, DELETE).
http.request.bodyPayload of the request (if applicable).
http.request.header.*All request headers, including but not limited to: accept, content-type, user-agent, authorization (masked or redacted for security), and traceparent (for OpenTelemetry correlation).
http.request.resend_countNumber of retries performed for the request.

Response Attributes

AttributeDescription
http.response.status_codeHTTP status code returned by the server.
http.response.bodyBody of the HTTP response (can be logged or validated in assertions).
http.response.header.*All response headers, including but not limited to: cache-control, content-type, date, server, strict-transport-security, x-content-type-options, content-security-policy, and access-control-allow-origin (CORS).

Further Reading