CapyDB Docs
Guides

Observability

Live storage, connection, and query metrics per project. Enough to answer "why is it slow" without a separate APM.

What you get

The Observability tab (and GET /v1/projects/{id}/observability) reports live metrics for a project:

  • Storage gauge — database size in bytes against the plan's storage limit, with usage percent
  • Connection gauge — current connections against the plan's connection budget
  • Active queries — what is running right now, with elapsed time
  • Slow queries — statements with high mean execution time (sampled via pg_stat_statements; statements with mean time ≥ 1s over at least 5 calls surface here)

When a gauge crosses its threshold, a usage alert opens — warning at 80%, critical at 95% — and is delivered to the dashboard, your webhooks, and the org billing email. The dashboard renders open alerts inline with the gauges.

From the CLI

capydb metrics            # human-readable gauges + query samples
capydb metrics --json     # raw observability payload

Reading the gauges

  • Storage creeping toward the limit: delete unused data, VACUUM, or move up a plan. Imports are blocked when the source exceeds the plan limit, and the preflight warns at 80%.
  • Connections pegged at the budget: app traffic belongs on the pooled URL; check for clients with oversized local pools or long-idle direct sessions. See Connections.
  • Slow queries: the samples include the statement text — EXPLAIN ANALYZE them over a direct connection, then add the index you already suspect is missing.