DORA Metrics Dashboard - Grafana Template
Pre-configured Grafana dashboard for tracking the four key DORA metrics: deployment frequency, lead time, MTTR, and change failure rate.
DORA Metrics Dashboard
This Grafana dashboard provides a comprehensive view of the four key DORA (DevOps Research and Assessment) metrics that measure software delivery performance.
Metrics Tracked
- Deployment Frequency: How often code is deployed to production
- Lead Time for Changes: Time from code commit to production deployment
- Time to Restore Service (MTTR): How quickly you recover from failures
- Change Failure Rate: Percentage of deployments causing failures
Dashboard Preview
┌────────────────────────────────────────────────────────────────┐
│ DORA Metrics Dashboard │
├────────────────────────────────────────────────────────────────┤
│ │
│ Deployment Frequency (Last 30 Days) │
│ ████████████████████░░░░ 15 per day Target: 10 per day │
│ │
│ Lead Time for Changes (Last 30 Days) │
│ ██████░░░░░░░░░░░░░░ 4.2 hours Target: 2 hours │
│ │
│ Time to Restore (MTTR) │
│ ████████████░░░░░░░░ 32 minutes Target: 30 minutes │
│ │
│ Change Failure Rate │
│ ███████████████████░ 3.2% Target: {"<"}5% │
│ │
│ Performance Level: HIGH PERFORMER ✅ │
└────────────────────────────────────────────────────────────────┘
Data Sources Required
- GitHub Actions / GitLab CI: For deployment events
- Jira / Linear: For issue tracking
- PagerDuty / Opsgenie: For incident data
- Prometheus / CloudWatch: For metrics collection
Installation
Option 1: Import JSON (Recommended)
- Download the dashboard JSON: dora-grafana.json
- In Grafana, go to Dashboards → Import
- Upload the JSON file or paste its contents
- Configure your data sources
- Customize variables (team, environment)
Option 2: Manual Setup
{
"dashboard": {
"title": "DORA Metrics",
"panels": [
{
"title": "Deployment Frequency",
"type": "stat",
"targets": [
{
"expr": "sum(rate(deployments_total[30d]))",
"legendFormat": "Deployments per day"
}
]
},
{
"title": "Lead Time",
"type": "graph",
"targets": [
{
"expr": "histogram_quantile(0.95, lead_time_seconds_bucket)",
"legendFormat": "p95 Lead Time"
}
]
}
]
}
}Prometheus Queries
# Deployment Frequency (per day)
sum(rate(deployments_total[30d])) * 86400
# Lead Time (p95 in hours)
histogram_quantile(0.95, rate(lead_time_seconds_bucket[30d])) / 3600
# MTTR (mean time to recovery in minutes)
avg(incident_resolution_time_seconds) / 60
# Change Failure Rate (percentage)
(sum(rate(deployment_failures_total[30d])) / sum(rate(deployments_total[30d]))) * 100Customization Guide
Variables:
$environment: production, staging, development$team: backend, frontend, platform$timerange: 7d, 30d, 90d
Thresholds: Customize based on your targets:
- Elite: Deploy frequency {">"}100 per day, Lead time {"<"}1h, MTTR {"<"}15min, CFR {"<"}5%
- High: Deploy {">"}7 per day, Lead time {"<"}1 day, MTTR {"<"}1h, CFR {"<"}15%
- Medium: Deploy weekly, Lead time {"<"}1 week, MTTR {"<"}1 day, CFR {"<"}30%
Related Dashboards
Download: dora-grafana.json Last Updated: 2025-11-17