Uptime, browser tests, and exception tracking — on one calm dashboard, hosted in the EU.
From the edge request to the running process to the line that threw — Uppi watches every layer your app actually has.
Status codes, response bodies, headers, redirects, TLS expiry.
Postgres, Redis, mail relays, SSH — anything that holds a socket.
A unique URL per job. Notice the silence before the report is missing.
Click together a real user flow. Replay it on schedule, headless.
A small Go agent streams CPU, memory, disk, network — threshold alerts.
Stack traces, breadcrumbs, release tags, user context. Group identical errors. Spot regressions the second they ship.
One incident model across every check. Routed, acknowledged, broadcast, closed — all on one timeline you can hand to a regulator.
HTTP, cron, browser test, exception — all roll up into the same timeline. One ack, one resolve, one record.
Auto-publish to a hosted or self-hosted status page. Customers know before they ask.
Every incident lists the last deploy. Rollback is one click and re-checks the failing monitor.
On close, Uppi attaches the graphs, the alert chain and the deploy diff. You write the human part.
One incident, one page. Routing rules pick the channel and stop — no fan-out spam, no five Slacks repeating the same thing.
Build a real user flow on a visual canvas — no code. Then drop it into a monitor and let headless Chromium replay it on schedule.
Click together a real user flow on an intuitive canvas. Visit, type, click, wait, assert. No code.
One test, many monitors. Run checkout-flow from EU, US and AP — three monitors, one definition. Edit once, all three update.
When a step fails, Uppi captures the page state, HTML snapshot and console log. You see exactly what the user saw.
Test failures route through the same channels as your HTTP and cron checks. One incident model. One on-call.
A small Go binary. Drops onto any Linux box and streams CPU, memory, disk and network — with the same threshold alerts as everything else.
curl-piped Go binary. No Docker, no Python, no agent fleet.
Set custom levels per metric. Get notified the moment something crosses your line.
The whole agent is on GitHub. Read it, fork it, ship it. No black box on your servers.
Drop the SDK in. Catch every uncaught exception with full stack traces, breadcrumbs, release tags and user context.
at CartSummary.computeTotal · checkout/cart.tsx:84
Sourcemapped to your original code. Click any frame to jump to the line. Local variables and breadcrumbs included.
Identical exceptions collapse into one issue with a frequency curve. New errors stand out. Resolved ones stay resolved — until they regress.
Every event tagged with the release that produced it. See the spike start at v2.4.1, find the commit, ship the fix.
JavaScript, Node, Python, Ruby, PHP, Go. One SDK per stack, one inbox for everything. Same routing, same on-call.
Scrub PII before send. Configurable allowlist for headers and request bodies. Hosted in the EU, GDPR by default.
Hosted is free up to a fair limit, no card and no clock. Or self-host the whole thing — same software, your perimeter, no telemetry.
Run by us. No card. No clock. No surprise migration to a paid tier.
Your servers, your data, your runtime. Same software, just inside your perimeter — forever.