
- Measure time starting at
event.timeStamp - Measure time ending at
performance.now()in arequestAnimationFrame() - Ignore anything that happened while the tab was not focused
- Aggregate data using “% of events that are under target”
- Visualize multiple thresholds
Superhuman CTO recently posted a really useful and well-reasoned approach to setting up web app performance metrics:
Much more here