Monitoring & Analytics
Every deployed project gets built-in health monitoring — uptime probes, latency history, and live server metrics from your own Render service — plus optional, cookieless product analytics via a one-line snippet. No agents to install, nothing to configure.
Find it in the dashboard: open a project's deployment page and go to Project monitoring & analytics. The same data is available from the Monitoring API.
Uptime probes#
A background worker probes the live URLs of every project every 5 minutes. The URLs come from the latest COMPLETED deployment per repository — frontend and backend are probed separately. Samples are retained for 7 days.
| Rule | Value |
|---|---|
| Probe interval | Every 5 minutes, per target (frontend + backend) |
| Up (ok) | Any HTTP status < 500 — redirects are followed |
| Down | HTTP 5xx, connection errors, or no response within the 15-second timeout |
| Retention | 7 days of samples |
Uptime percentage and latency#
For each target the monitoring view shows:
- Current status — the most recent probe's result, HTTP status, and latency.
- 24-hour uptime % — the share of probes in the last 24 hours that were up, to one decimal place.
- Latency series — every sample from the last 24 hours, charted so you can spot degradation and cold starts.
Live server metrics (Render)#
When the project has a backend, deplo.ai also fetches live CPU and memory series for the last hour directly from the Render service — using your own Render API key, since the service runs in your workspace. This is best-effort: if the key was disconnected or Render's metrics API is unavailable, the health and uptime data still load and the server panel is simply omitted.
Latest-attempt banner#
Monitoring always distinguishes what is live from what happened last. Uptime probes track the latest successful deployment's URLs — but if a newer attempt failed (or is still in progress), a banner shows its status and error above the health data. So when a deploy fails, you see the failure immediately, while the charts confirm your previous version is still serving traffic. See Troubleshooting.
Product analytics#
Analytics is opt-in per project: copy the snippet from the dashboard's analytics panel and add it to your deployed site. It is one script tag — the data-deplo-key is your project's ID:
<script defer src="https://www.deplo.in/api/v1/public/insights.js" data-deplo-key="YOUR_PROJECT_ID"></script>The script is ~15 lines, cached for an hour, and sends a beacon on page load and on every SPA navigation (it hooks pushState, replaceState, and popstate), using navigator.sendBeacon with an image-request fallback. It never blocks your page.
What is collected#
| Field | Detail |
|---|---|
| Path | The page path, e.g. /pricing |
| Referrer | The document referrer; empty referrers are reported as (direct) |
| Visitor hash | sha256(ip | user-agent | day | projectId), truncated — a cookieless daily identifier |
- Requests from bots and crawlers (user-agent match) are dropped.
- Visitors sending the
DNT: 1(Do Not Track) header are not recorded.
Reading the numbers#
The analytics view covers a window of 1 to 30 days (default 7) and shows:
- Views — total pageviews in the window, plus a per-day series.
- Visitors — unique daily visitor hashes.
- Top pages — the ten most-viewed paths.
- Top referrers — the ten most common traffic sources, with direct traffic grouped as
(direct).
Next steps#
- Monitoring & Analytics API — fetch the same data programmatically.
- Troubleshooting — what to do when the banner shows a failed attempt.