Metrics Dashboard
The Metrics page (/metrics) shows aggregated performance statistics computed directly from results ingested into QA Hub — no external TestOps provider required.
How metrics are computed
Metrics are derived from NativeTestResult rows — raw results ingested via /api/v1/ingest or the CLI. They are aggregated on demand, not pre-computed, so they always reflect the most recent data.
Available metrics
Pass rate
Overall percentage of PASSED results across all ingested runs in the selected period. Breakdowns are available per project, framework, and environment.
Flakiness ratio
The proportion of test cases that have alternated between PASSED and FAILED in recent runs. A test is considered flaky if it has both a pass and a fail within the window.
Duration percentiles (P50 / P95)
Execution time distribution across all results with a recorded duration_ms:
- P50 — Median test duration; baseline for "typical" test time
- P95 — 95th percentile; reveals slow outliers that inflate CI time
By framework
When results include a framework label (e.g., playwright, cypress, jest), metrics are broken down per framework so you can compare stability across your test stack.
Filters
| Filter | Options |
|---|---|
| Period | Last 7 days, 30 days, 90 days |
| Project | All projects or a specific one |
| Framework | All frameworks or a specific one |
| Environment | All environments or a specific label |
Data retention
Native test results are retained for a configurable number of days (default: 30). Older results are pruned by the /api/v1/admin/sweep endpoint, which can be called on a schedule from your CI/CD pipeline.
# Trigger a sweep via the REST API
curl -X POST https://your-qahub.com/api/v1/admin/sweep \
-H "Authorization: Bearer qh_xxxx_yyyy"
Difference from Coverage Analytics
| Feature | Metrics Dashboard | Coverage Analytics |
|---|---|---|
| Data source | Native ingestion only | Native or TestOps |
| TestOps sync required | No | Optional |
| P50/P95 duration | Yes | No |
| Environment health bands | No | Yes |
| Executive health summary | No | Yes |