Demo environmentLog in
Interactive product demoSynthetic incident

Something broke.
Follow the evidence.

Explore how OpsPilot connects host, container, database, and service signals into one credible explanation. Everything below is fictional and runs without access to an OpsPilot account or datastore.

CriticalCause identified14:35 UTC

API latency and 5xx rate increased

Checkout requests slowed, application containers restarted, and Nginx began returning upstream errors within a four-minute window.

Investigated hostcheckout-prod-02Ubuntu 24.04 · Docker · PostgreSQL 17 · Nginx
CPU42%Normal
Memory68%Stable
Disk54%Healthy
API p952.8s+620%
Likely cause

PostgreSQL connection exhaustion caused application workers to fail health checks and restart, producing upstream 502 errors.

The database reached usable connection capacity before host resources were constrained. Checkout workers then waited past their database timeout, failed health checks, and restarted. Nginx temporarily had no healthy upstream for affected requests. The ordering and shared timestamps make connection exhaustion the strongest common explanation.

Recommended next checks
  1. Identify long-running or idle-in-transaction sessions before terminating anything.
  2. Compare application pool sizes across all checkout replicas with the database connection budget.
  3. Check whether the 14:30 traffic change increased per-request database concurrency.
  4. Confirm workers recover after connection capacity becomes available.
Ready to investigate your own stack?

Want OpsPilot on your infrastructure?

Join the private beta after seeing the product—no account was created for this demo.

Already invited? Log in