Monitors

One Monitor Type for Every Metric

Row counts, null rates, freshness, business KPIs, or any custom SQL, all the same kind of monitor. Pick ML detection or fixed thresholds, set a schedule, and Sparvi raises an issue when a value falls outside what is normal.

Active Monitors
orders.row_count
ML / z-score · every 60 min · 12,418
2m ago
users.email null %
ML / IQR · hourly · 2.1%
8m ago
revenue per region (segmented)
Threshold < $50K · daily · EMEA below warning
1h ago
orders freshness
Custom SQL · every 30 min · 4 min lag
3m ago

What You Can Monitor

Three source types cover everything from warehouse health to business KPIs.

Table Metrics

Row count on any table. The cheapest and most common monitor, catches partial loads, duplicate runs, and dropped pipelines.

Example: Row count on orders every hour.

Column Metrics

Null %, distinct count, distinct %, min, max, average, standard deviation, on any column. Built-in, no SQL required.

Example: Null % on users.email.

Custom SQL

Write any query that returns a numeric value. Use this for business metrics, freshness, JOINs, CTEs, anything Snowflake or BigQuery can run.

Example: SELECT SUM(amount) AS value FROM orders WHERE created_at >= CURRENT_DATE.

Two Ways to Alert

Every monitor has its own evaluation mode. Pick per metric, you do not have to commit your whole pipeline to one philosophy.

ML / Statistical

Sparvi learns a baseline from history and alerts when the latest value deviates beyond your configured sensitivity. Best for metrics where "normal" drifts with the business, orders per hour, traffic by day of week, distribution of values in a column.

  • Z-score, IQR, or moving-average detection
  • Configurable sensitivity (0.5–2.0)
  • Baseline window of 1–90 days
  • Minimum data-points guard before firing

Threshold

Set explicit warning and critical lines. Best when you already know the contract, "revenue per region should never fall below $50K/day", "null % on email should stay under 5%", "p95 latency should stay below 300ms".

  • Direction: alert when value goes above or below
  • Warning + critical levels for graduated severity
  • Set one or both, Sparvi enforces consistency
  • Same SLAs that already live in your contracts

Schedule Per Monitor

A monitor on hourly orders shouldn't run on the same cadence as a monthly finance close. Each monitor picks its own.

  • Interval, every N minutes or hours, down to 5 minutes
  • Daily, at a specific hour and minute in any IANA timezone
  • Weekly, choose the day of week and time
  • Manual, runs only when you click Run Now (good for ad hoc checks)

Active vs. Paused

Every monitor has an active flag. Pause a noisy monitor without losing its configuration or history, flip it back on when you are ready.

One issue per breach

When a monitor fires, Sparvi creates an issue with the metric, the segment (if applicable), the deviation, and the historical trend. Resolution lives next to the monitor, not in a separate ticketing tool.

Frequently Asked Questions

What is a Sparvi monitor?

A Sparvi monitor is a measurable thing on your warehouse data that runs on a schedule. It can be a built-in metric on a table (row count) or column (null %, distinct count, min, max, average, standard deviation), or any custom SQL query you write. Every monitor has an evaluation mode, ML / statistical (z-score, IQR, moving average) or fixed thresholds, that decides when it should raise an issue.

What kinds of things can I monitor with Sparvi?

Row counts and column statistics for any table in Snowflake, BigQuery, or your dbt project; freshness based on max(updated_at) or a watermark column; business metrics like revenue, signups, latency, or churn via custom SQL; and any of those metrics segmented by region, product, tenant, or any dimension you care about.

Do I need to set thresholds manually?

No. Statistical monitors learn a baseline from your historical data and alert when the latest value falls outside that range. If you do want a hard line, for example, "revenue should never drop below $50K/day", switch the monitor to threshold mode and set warning and critical numbers explicitly.

How often do monitors run?

You choose. Monitors support interval schedules (every N minutes or hours, minimum 5 minutes), daily at a specific local time, weekly on a chosen day, or manual-only. Each monitor has its own cadence so noisy data can be checked more frequently than slow-changing reference tables.

Stop Discovering Issues After the Fact

Put a monitor on the metrics that matter. We'll watch them so you don't have to.

Start Free Trial