Skip to content

Data sources

Every query reads one source. A source has measures (what you compute) and fields (what you filter, group and build variables on).

The editor and the API read the same list. GET /dashboards/catalog returns it, so the tables below always match what the query builder offers.

  • Aggregations are the ways a measure can be combined across a bucket and across a window. The first one listed is the default. A measure with no list has one fixed meaning.
  • Group by means you can split a query by the field, up to two fields per query.
  • Variable means a variable can be bound to the field.
  • Kind is id (values have labels, such as monitor names), enum, text or number.
  • A field is filter only when it supports neither.
  • Aggregations: avg, sum, min and max; the percentiles p50, p75, p90, p95 and p99; and rate for the metrics source.
  • Every query is scoped to your account.

monitors reads HTTP and browser checks. Uptime and response time are measured per check, so they match the monitor page.

Over two days or more, widgets read hourly summaries of the checks, so long ranges stay fast. Counts, uptime, averages, min and max are exact; percentiles are within 1%.

MeasureUnitAggregationsMeaning
uptimepercentfixedShare of checks that passed.
response_timemsavg, p50, p75, p90, p95, p99, min, maxResponse time of a check.
checkscountfixedChecks run.
failed_checkscountfixedChecks that failed.
dns_time, connect_time, tls_time, ttfb, download_timemsavg, p50, p95, p99The phases of an HTTP check. HTTP monitors only.
downtimesecondssumTime spent failing, derived from state transitions. Includes cron monitors.
FieldKindGroup byVariable
monitorid (shown by name)YesYes
monitor_typeenum: http, browser, cronYesYes
tagenumYesYes
regionenumYesYes
status_pageid (shown by name)NoYes
serviceid (shown by name)YesYes

Buckets of 60 seconds and up.

incidents reads incidents, including those opened automatically by monitors.

MeasureUnitAggregationsMeaning
incidentscountfixedIncidents created in the bucket.
open_incidentscountfixedIncidents open now. A single value only, never a series.
mttrsecondsavg, p50, p90, maxTime to resolve, for incidents resolved in the window.
mttasecondsavg, p50, p90, maxTime to acknowledge, for incidents acknowledged in the window.
FieldKindGroup byVariable
severityenumYesYes
statusenumYesYes
serviceidYesYes
status_pageidYesYes
auto_createdenumYesNo

Buckets of 300 seconds and up.

rum reads real user monitoring data. It only sees the RUM applications in your account.

MeasureUnitAggregationsMeaning
sessionscountfixedSessions.
viewscountfixedPage views.
errorscountfixedErrors.
error_session_ratepercentfixedShare of sessions with an error.
lcp, inp, fcp, ttfb, load_timemsp75, p50, p90, p95, p99, avgWeb Vitals and load time.
clsscorep75, p50, p90, p95, p99, avgCumulative layout shift.
rage_clickscountfixedRage clicks.
FieldKindGroup byVariable
appid (shown by name)YesYes
routetextYesYes
urltextNoNo
country, browser, os, device_type, env, release, serviceenumYesYes

Buckets of 300, 3600, 21600 and 86400 seconds.

logs counts log events.

MeasureUnitAggregationsMeaning
logscountfixedLog events.
FieldKindGroup byVariable
level, source, env, host, versionenumYesYes
messagetextNoNo
tag:<key>tag valueYesYes

message supports contains only. A tag field is written tag: plus the tag key, and the key can use A-Z, a-z, 0-9, ., _, - and /, up to 128 characters.

Buckets of 60 seconds and up.

metrics reads any metric you send. Every query sets metric, the metric name. The name can also be a variable, such as $metric.

MeasureUnitAggregationsMeaning
valuethe metric’s own unitavg, sum, min, max, p50, p75, p90, p95, p99, rateThe metric’s value per bucket.
FieldGroup byVariable
host, env, sourceYesYes
tag:<key>YesYes

For what each aggregation means on gauges and counters, see the metrics overview.

Buckets of 60, 300, 3600 and 21600 seconds. One-day buckets are built from the 21600-second ones.

traces reads spans. Requests are counted as entry spans.

MeasureUnitAggregationsMeaning
requestscountfixedEntry spans.
errorscountfixedErrors.
error_ratepercentfixedError percentage.
latencymsavg, p50, p75, p90, p95, p99, maxLatency.
FieldGroup byVariable
service, operationYesYes
status, span_kindYesNo

status and span_kind are enums.

Buckets of 60 seconds and up.

Dropdowns for filters and variables load their options from GET /dashboards/values. It returns at most 100 values, matched by prefix or substring as you type. Options for RUM, logs, metrics and traces come from the last 7 days. Fields with id kind show names, such as monitor and RUM application names.

A time chart groups points into buckets. Site Qwality picks the bucket size for you.

  • Ladder. Bucket sizes are 60 seconds, 5 minutes, 15 minutes, 1 hour, 6 hours and 1 day.
  • Choice. The widget asks for about its pixel width divided by 4 points, and the API clamps that to between 30 and 600 (240 by default). The bucket is the smallest ladder step that gives no more points than that and that the source supports.
  • Alignment. One-day buckets start at midnight in the timezone the dashboard is showing. Smaller buckets align in UTC.
  • Partial bucket. A bucket that ends after now is still filling. Charts shade it.
  • Scalars. Query value, Top list, Table and Pie reduce over the whole window with the measure’s aggregation. They never take the last bucket.
  • Longest window. 400 days.