Upptime automatically tracks and visualizes response times for all your monitored endpoints. Response time data is recorded, committed to git, and displayed as interactive graphs on your status page.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/upptime/upptime/llms.txt
Use this file to discover all available pages before exploring further.
How It Works
Response time tracking runs on a separate workflow from uptime checks:.github/workflows/response-time.yml
Response times are recorded once per day at 11:00 PM UTC by default. This is separate from the uptime checks that run every 5 minutes.
What Gets Measured
For each monitored endpoint, Upptime measures:- Total response time (in milliseconds)
- DNS lookup time
- TCP connection time
- TLS handshake time (for HTTPS)
- Time to first byte (TTFB)
- Download time
The recorded response time is the total time from request start to complete response.
Response Time Storage
History Files
Each check updates the site’s history file:history/google.yml
API Endpoints
Aggregated data is stored as JSON for different time periods:- Daily
- Weekly
- Monthly
- Yearly
api/google/response-time-day.json
Graph Generation
Response time graphs are generated daily by thegraphs.yml workflow:
.github/workflows/graphs.yml
Graphs are generated once per day at midnight UTC to keep your status page up-to-date.
Visualization
The status page displays response time data in multiple formats:Line Graphs
Line Graphs
Interactive SVG graphs showing response time trends over:
- Last 24 hours
- Last 7 days
- Last 30 days
- Last year
- All time
Badges
Badges
Shields.io-style badges for embedding in README files:
Statistics
Statistics
Aggregated statistics displayed on the status page:
- Current response time
- Average response time (multiple periods)
- Minimum and maximum values
- Percentile calculations
Performance Indicators
Response times are color-coded for easy interpretation:Excellent
0-200ms
Good
200-500ms
Fair
500-1000ms
Slow
1000ms+
Historical Data
All response time data is stored in git, providing:- Complete history since monitoring started
- Git-based audit trail of all measurements
- Commit-level granularity for each data point
- Branch/tag support for historical analysis
Viewing History
You can view the complete history of any site:Configuration Options
Custom Collection Schedule
Modify the response time collection frequency:.upptimerc.yml
Expected Response Times
Set expected response time thresholds:.upptimerc.yml
README Integration
Upptime automatically updates your README with response time data:.github/workflows/summary.yml
Using Response Time Data
API Access
Access response time data programmatically:GitHub API
Query historical data using the GitHub API:Performance Optimization
Reduce Data Volume
Reduce Data Volume
Limit the number of historical data points:
Graph Image Format
Graph Image Format
Graphs are generated as optimized SVG for fast loading:
- Small file size
- Scalable to any resolution
- Embedded directly in HTML
CDN Caching
CDN Caching
GitHub’s CDN automatically caches:
- API JSON files
- Graph images
- Status page assets
Alerts and Thresholds
While Upptime doesn’t have built-in response time alerts, you can:- Use GitHub Actions to parse response time data
- Send notifications when thresholds are exceeded
- Integrate with external monitoring tools
Next Steps
- Configure Notifications for alerts
- Learn about Uptime Monitoring
- Explore Incident Management