Skip to content

Concepts and glossary

The nouns below mean one specific thing everywhere in the product and the docs.

The umbrella term for any scheduled health check. Site Qwality has six monitor families: HTTP (with the TCP port and ping check types), SSL/TLS, domain expiry, DNS record, cron heartbeat, and browser. A domain expiry check reads a domain’s registration from its registry; a DNS record monitor reads the domain’s records from its nameservers. The dashboard’s Monitors view lists all of them together.

A single execution of a monitor: one HTTP request, one TCP connection, one round of pings, one DNS lookup, one TLS handshake. Each check produces a result (success, failure, plus latency and any captured payload). An HTTP monitor with several check locations produces one check per location per tick. A browser check runs its script once in each location, and each run uses browser check minutes.

How often a monitor’s checks fire. The minimum depends on your plan. Browser checks have their own fixed intervals (5m, 10m, 15m, 30m, 1h).

A place Site Qwality runs checks from, on AWS, Google Cloud or Microsoft Azure, with a stable id such as aws-us-east-1 (the API field is check_regions). The default is aws-us-east-1 (Virginia, AWS), and for ping checks gcp-us-east4 (Virginia, Google Cloud), or gcp-us-west2 (Los Angeles) while Virginia is unhealthy. HTTP and TCP port checks can use any live location, ping checks the Google Cloud ones and browser checks any AWS location; SSL/TLS, domain expiry and DNS record checks run from aws-us-east-1. See check locations.

For a monitor in several locations, how many must report healthy for a check to pass. With one location it is always 1 of 1.

An open record of “something is broken.” Incidents are opened by hand (dashboard or API), or automatically when a monitor linked to a service in auto mode starts failing. Each incident has:

  • Status: investigating → identified → monitoring → resolved.
  • Severity: minor, major, or critical.
  • Responder status: triggered (no one’s looking), acknowledged (someone’s on it), or resolved.
  • Updates: a chronological log of status changes, posted internally and (optionally) to the public status page.
  • Monitors and participants: the monitors it is about, and the people working it.

A single timeline entry on an incident: a change of status with a written message (“We’ve identified a database failover; recovery in progress”). Posted via the dashboard or POST /incident/{id}/update.

When a responder claims an incident, its responder_status flips from triggered to acknowledged. This stops further escalation but doesn’t resolve the incident.

A person’s claim on a monitor outage, separate from an incident: it records who is on a down HTTP, heartbeat (cron) or browser monitor and, by default, stops that outage’s repeat alerts. The recovery alert is still sent. Acknowledge from the monitor page, the link in the down alert email, the API or an AI assistant. See Acknowledge a monitor outage.

A person working an incident, with a role of lead, responder or comms. The first person to acknowledge becomes the lead. See Participants.

A duplicate incident folded into another. It resolves with resolution_reason: "merged", and its monitors and participants move to the incident it was merged into. See Merge incidents.

A named rotation of users that produces “who’s on call right now” given a timestamp. Each schedule has one or more layers stacked in priority order, plus optional overrides.

A single rotation rule: which users participate, how often they hand off (daily, weekly, custom), at what time of day, optionally bounded by an effective_from / effective_until window. Layers with a higher layer_number are evaluated first and shadow lower ones during their effective window.

A “user X is on call from time A to time B” entry that beats every layer, for covering someone’s shift.

  • daily: handoff every day at handoff_time.
  • weekly: handoff once a week at handoff_time, on handoff_day (0=Sunday, 6=Saturday) when one is set. Both are interpreted in the schedule’s timezone.
  • custom: handoff every rotation_interval_days days.

A named part of your product, such as Checkout API, that ties monitors to incident handling. A service holds the escalation policy to page, an incident creation mode (manual or auto), a reopen window, an auto-resolve setting, a default severity for the incidents it opens, and optional broadcast targets. In auto mode it keeps one open incident that every failing monitor joins. Any monitor type can join a service. See Services.

An email address, Slack channel or webhook that a service tells about every lifecycle event of its incidents (opened, acknowledged, updated, resolved, reopened, merged and moved), optionally filtered by severity and event. Separate from notification channels.

A named pipeline of “who to page if no one acknowledges.” Has an ordered list of levels, a repeat_count (how many more passes after the first, default 0) and an on_exhausted for when nobody acknowledges: email the account owners and admins (the default), stop, or run one other policy once. A level that can reach nobody is skipped at once.

One step in the pipeline. Specifies a timeout_minutes (how long to wait for an ack before moving on) and a list of targets: target_user_ids (page these humans directly) and target_schedule_ids (page whoever’s on-call in these schedules right now).

After running through every level, how many more passes to make before giving up, from 0 to 20. 0 means stop after one pass.

One delivery destination at the account level. Type-specific:

  • email → an email address
  • sms → a phone number
  • slack → a channel inside a Slack integration
  • webhook, discord, telegram, microsoft_teams, pagerduty, opsgenie, google_chat, mattermost, pushover, pushbullet → reference an integration

A notification belongs to a notification group; it’s not attached to monitors directly.

A bundle of notification channels that monitors attach to. Optionally has delay_send_after_minutes (wait this long before the first down alert) and resend_every_minutes (repeat the down alert until the monitor recovers or someone acknowledges the outage). Both apply to HTTP monitors and browser checks only. One group per account can be the default group (is_default), which new monitors get when they are created without groups; at signup that is the Default group.

A user’s personal way to be reached: their email, their phone for SMS, or a Slack DM. Distinct from a notification channel: channels are to a destination; contact methods are to a person. On-call and escalation pages route to contact methods, not channels.

A user’s personal preference: “for high-urgency incidents, SMS me at 0 min, Slack DM me at 5 min, email me at 15 min.” Stacks multiple rules with increasing delays per urgency level.

Either high (wakes someone up) or low (informational). Derived from the incident’s severity: critical and major are high, minor is low. User notification rules are scoped to one urgency at a time.

A time range during which monitors with matching tags don’t page. Checks still run and results are recorded; failure notifications are held until the window ends, and a recovery inside the window clears the held page. Useful for planned deploys.

Two flavors:

  • One-time: a single starts_at / ends_at pair.
  • Recurring: a recurrence rule (e.g. “every Sunday 2am-4am UTC”).

A separate object (not a maintenance window) that publishes “scheduled maintenance” cards on the public status page. Doesn’t silence anything; purely communicative. See Publish a status page maintenance.

A public, branded page at https://statuspage.siteqwality.com/<account-id>/<page-id> (or your custom domain) showing the current and historical state of components you choose to publish.

One row on a status page, with a public-facing friendly_name: an HTTP check, browser check or heartbeat, whose status follows the monitor, or a manual component, whose status you set. HTTP and browser check components take an optional sla_target_percentage, and any component can carry a status override set by hand. See Group and order components.

A visitor who confirmed an email address to be notified when the status page publishes an incident or maintenance. They can choose incidents, maintenance or both, and every component or only some. Email only.

A numeric time-series: gauge (current value), counter (monotonically increasing), or histogram (distribution of values bucketed by le). Tagged with key/value pairs for filtering and grouping.

A discrete event with a timestamp, level, message, and arbitrary structured metadata.

A distributed-tracing object: one trace = one logical request, made up of many spans. Each span has a service name, operation name, duration, and structured attributes. Site Qwality follows OpenTelemetry conventions.

Telemetry collected from real browsers via the @siteqwality/rum SDK: page-load timings, web-vitals, errors, user actions, resource timing.

One SDK installation, identified by an application_id and a client_token. Each app you instrument is a separate application, typically one per domain or one per major build.

A recording of a user session, captured by the RUM SDK. Privacy-aware (mask_inputs, mask_text). Activated only when a Replay recording rule matches the session.

The top-level billing entity. One account = one subscription = one set of monitors, dashboards, and integrations.

A person with login credentials, scoped to one or more accounts. Roles are per-account.

An account-scoped key, 96 hexadecimal characters, sent as a Bearer token. Create one under Settings → API keys. An Ingest only key can only send telemetry; a Full access key can also call the API, either everywhere or only within the scopes you tick.