Telemetry
Inspectable dashboard gallery

SaaS dashboard examples that show the SQL

Start from a decision, inspect the metrics and complete query, then adapt the grain and thresholds to your event contract. Every preview uses synthetic values and states what it cannot prove.

Reviewed by the Telemetry product team on . Dashboard grain, metric definitions, DataFusion syntax, freshness, and interpretation boundaries. Review standards and ownership

6

complete dashboard patterns

24

named metric definitions

100%

SQL visible before signup

Dashboard 1

SaaS health overview

Put adoption, reliability, and commercial context on one review surface without pretending they share the same grain.

Primary audience
Founders, product leaders, and engineering leaders
Freshness rule
Daily, after the newest complete UTC day

Metrics on the dashboard

  • Active accounts
  • Successful milestones
  • API error rate
  • Monthly revenue represented
DataFusion SQL
WITH account_activity AS (
  SELECT
    account_id,
    COUNT(*) AS successful_milestones
  FROM product_events
  WHERE status = 'success'
  GROUP BY account_id
),
account_reliability AS (
  SELECT
    account_id,
    COUNT(*) AS requests,
    SUM(CASE WHEN status = 'error' THEN 1 ELSE 0 END) AS errors
  FROM api_requests
  GROUP BY account_id
)
SELECT
  COUNT(*) AS active_accounts,
  SUM(a.successful_milestones) AS successful_milestones,
  ROUND(100.0 * SUM(r.errors) / NULLIF(SUM(r.requests), 0), 2)
    AS api_error_rate_pct,
  SUM(ac.monthly_revenue_usd) AS represented_mrr_usd
FROM account_activity a
JOIN account_reliability r USING (account_id)
JOIN accounts ac USING (account_id);

Dashboard 2

API reliability and latency

Compare traffic, error rate, and tail latency by endpoint while retaining enough volume to judge whether a percentile is stable.

Primary audience
Service owners and on-call engineers
Freshness rule
Five-minute buckets for operations; daily for reviews

Metrics on the dashboard

  • Request volume
  • Error rate
  • p50 latency
  • p95 latency
DataFusion SQL
SELECT
  endpoint,
  COUNT(*) AS requests,
  ROUND(
    100.0 * SUM(CASE WHEN status = 'error' THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0),
    2
  ) AS error_rate_pct,
  approx_percentile_cont(latency_ms, 0.50) AS p50_ms,
  approx_percentile_cont(latency_ms, 0.95) AS p95_ms
FROM api_requests
GROUP BY endpoint
ORDER BY error_rate_pct DESC, requests DESC;

Dashboard 3

Incident customer impact

Translate a declared service incident into affected accounts, failed operations, regions, and represented revenue.

Primary audience
Incident commanders and customer-facing teams
Freshness rule
During an incident and once after resolution

Metrics on the dashboard

  • Affected accounts
  • Failed operations
  • Affected regions
  • Represented monthly revenue
DataFusion SQL
WITH account_impact AS (
  SELECT
    incident_id,
    account_id,
    COUNT(*) AS impacted_operations
  FROM service_events
  WHERE incident_id IS NOT NULL
    AND status = 'error'
  GROUP BY incident_id, account_id
)
SELECT
  i.incident_id,
  i.severity,
  COUNT(*) AS affected_accounts,
  SUM(ai.impacted_operations) AS failed_operations,
  SUM(a.monthly_revenue_usd) AS represented_mrr_usd
FROM account_impact ai
JOIN incidents i USING (incident_id)
JOIN accounts a USING (account_id)
GROUP BY i.incident_id, i.severity
ORDER BY failed_operations DESC;

Dashboard 4

LLM usage and unit economics

Connect model calls to product workflows and accounts so token volume, latency, failures, and cost can be reviewed together.

Primary audience
AI product, platform, and finance teams
Freshness rule
Daily with a complete provider-cost window

Metrics on the dashboard

  • Requests
  • Input and output tokens
  • Estimated cost
  • Cost per successful request
DataFusion SQL
SELECT
  model,
  COUNT(*) AS requests,
  SUM(input_tokens) AS input_tokens,
  SUM(output_tokens) AS output_tokens,
  ROUND(SUM(cost_usd), 4) AS estimated_cost_usd,
  ROUND(
    SUM(cost_usd)
    / NULLIF(SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END), 0),
    4
  ) AS cost_per_success_usd
FROM llm_requests
GROUP BY model
ORDER BY estimated_cost_usd DESC;

Dashboard 5

Background job reliability

Separate terminal job outcomes from attempts, then compare retries, queue wait, and duration by stable job name.

Primary audience
Async platform and application teams
Freshness rule
Hourly for operations; weekly for capacity planning

Metrics on the dashboard

  • Completed jobs
  • Terminal failure rate
  • Retry rate
  • p95 duration
DataFusion SQL
SELECT
  job_name,
  COUNT(*) AS completed_jobs,
  ROUND(
    100.0 * SUM(CASE WHEN status = 'error' THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0),
    2
  ) AS terminal_failure_rate_pct,
  ROUND(AVG(attempt_count), 2) AS average_attempts,
  approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms
FROM job_runs
GROUP BY job_name
ORDER BY terminal_failure_rate_pct DESC, completed_jobs DESC;

Dashboard 6

Account activation funnel

Measure durable account milestones in order and make the denominator explicit at every funnel step.

Primary audience
Product managers and growth engineers
Freshness rule
Daily, segmented by signup cohort

Metrics on the dashboard

  • Signed-up accounts
  • Sources connected
  • First queries run
  • Dashboards created
DataFusion SQL
WITH milestones AS (
  SELECT
    account_id,
    MAX(CASE WHEN event_name = 'source_connected'
      AND status = 'success' THEN 1 ELSE 0 END) AS connected,
    MAX(CASE WHEN event_name = 'query_completed'
      AND status = 'success' THEN 1 ELSE 0 END) AS queried,
    MAX(CASE WHEN event_name = 'dashboard_created'
      AND status = 'success' THEN 1 ELSE 0 END) AS dashboarded
  FROM product_events
  GROUP BY account_id
)
SELECT 'signed_up' AS step, COUNT(*) AS accounts FROM accounts
UNION ALL
SELECT 'source_connected', SUM(connected) FROM milestones
UNION ALL
SELECT 'query_completed', SUM(queried) FROM milestones
UNION ALL
SELECT 'dashboard_created', SUM(dashboarded) FROM milestones;

Run the same analysis on a connected sample database

The SQL Lab includes product, API, model, job, billing, release, and incident data with more than 10,000 deterministic rows. Download it or query it locally before mapping these dashboards to production fields.