Prompt
How do I add uptime history to a status page?
Latest observation
Oct 11, 2026
OpenAI APIWeb search: off
To add uptime history to a status page, you generally need three pieces:
- An uptime monitor that checks your service regularly
- A way to store past results (history)
- A display on the status page showing the history as a chart, table, or incident log
Common ways to do it
1) Use a status page platform with built-in history
Many hosted tools already provide:
- Uptime percentage over 7/30/90 days
- Incident history
- Response time charts
- Component-specific status history
Examples include:
- Better Uptime
- Statuspage
- Uptime Kuma
- Pingdom
- Freshstatus
If you’re using one of these, the setup is usually:
- Add your monitors
- Enable public status page
- Turn on “show uptime history” or “incident history”
2) Build it yourself
If you’re coding your own status page, the basic flow is:
a. Collect monitor data
Run checks on an interval, for example every 1 minute:
- HTTP request
- TCP ping
- DNS check
- API health endpoint
Store each check result:
{
"timestamp": "2026-10-11T12:00:00Z",
"service": "api",
"status": "up",
"latency_ms": 123
}
b. Calculate uptime
Example formula:
uptime % = (successful checks / total checks) * 100
You can calculate for:
- Last 24 hours
- Last 7 days
- Last 30 days
- Custom range
c. Show history on the page
Common UI options:
- Timeline of incidents
- Uptime percentage cards
- Chart of availability over time
- Response time graph
- Calendar heatmap
Minimal implementation idea
Backend
Store checks in a database table:
idservice_namechecked_atstatuslatency_mserror_message
Then expose an endpoint like:
GET /api/status-history?service=api&period=30d
Return:
{
"uptime": 99.98,
"incident_count": 2,
"checks": [
{ "timestamp": "...", "status": "up" }
]
}
Frontend
Render:
- current status
- uptime summary
- history chart
- incident list
Libraries you can use:
- Chart.js
- Recharts
- D3.js
- ApexCharts
Best practices
- Use a consistent check interval
- Keep raw check data for auditing
- Group failures into incidents instead of showing every failed ping
- Show multiple time windows: 24h, 7d, 30d
- Be transparent about scheduled maintenance
- Update the page automatically or every few minutes
If you want a quick recommendation
If you want the easiest path:
- No-code / hosted: use Statuspage or Better Uptime
- Self-hosted: use Uptime Kuma
- Custom app: store checks in a database and render charts on your status page
If you want, I can also give you:
- a step-by-step setup for a specific tool, or
- a code example for building uptime history on your own status page.