Performance Score
How Abrova Trace rates your Core Web Vitals — p75 per vital, rated Good / Needs improvement / Poor against Google's thresholds, in the Web Vitals card.
Your application's Core Web Vitals health is shown in the Web Vitals card on Trace → Performance. Each vital is summarised by its p75 across the selected time range and rated Good, Needs improvement or Poor against Google's standard thresholds, so you can spot regressions at a glance.
Abrova Console does not currently combine the vitals into one 0–100 score. Read the per-vital ratings instead — the worst-rated vital is where to start.
Web Vitals are browser-specific and come from the browser SDK (call enableWebVitals() in the Next.js / web SDK). Mobile and backend SDKs report request latency only, so for non-web projects the card shows "Web Vitals need the browser SDK".
How Vitals Are Rated#
Each vital's p75 is compared with Google's standard thresholds: at or below Good is Good, above Poor is Poor, anything in between is Needs improvement.
| Metric | Name | Good | Poor |
|---|---|---|---|
| LCP | Largest Contentful Paint | ≤2.5s | >4s |
| INP | Interaction to Next Paint | ≤200ms | >500ms |
| CLS | Cumulative Layout Shift | ≤0.1 | >0.25 |
| FCP | First Contentful Paint | ≤1.8s | >3s |
| TTFB | Time to First Byte | ≤800ms | >1.8s |
Vitals that haven't reported yet are not shown.
Rating Bands#
Healthy. Most page loads meet the threshold
Mixed. Investigate this vital and ship a targeted fix
Many page loads fail this vital. SEO + retention at risk
What You See in the Dashboard#
The Web Vitals card on the Performance page shows:
- Header — "p75 · N page loads · browser SDK only"
- Per-metric breakdown — every reported vital with its p75 value, rating icon and label
- Good / Needs improvement / Poor split — how the individual page loads for each vital were rated
Reading the Breakdown#
The breakdown rows tell you what is off. Rows look like:
LCP 2840ms ● Needs improvement INP 190ms ● Good CLS 0.08 ● Good FCP 1650ms ● Good TTFB 720ms ● Good
Scan the rating icons: fix Poor rows first, then Needs improvement.
Best Practices#
Use the time-range selector to compare 1h vs 24h vs 7d — a sudden change usually pins down to a deploy
Moving one Poor vital to Good helps users more than polishing a vital that is already Good
Set a release version in your SDK init and use the Release filter so you can attribute regressions to specific deploys
Web Vitals cover frontend rendering. The Latency and Operations cards cover request latency. Together they give a full UX picture