Overview
Catchpoint uses the Navigation Timing JavaScript API to measure the performance of a web page as experienced by real users.
The Navigation Timing API is an interface that provides web applications with timing-related information from browsers and breaks down the events required to retrieve and display web pages in a browser and provides a timestamp for each event.
Calculation Diagram
Calculation of various Catchpoint metrics using different performance timing JavaScript objects are provided below:

| Catchpoint Metric | Calculation using Navigation Timing Events |
|---|---|
| CONNECT (MS) | performance.timing.secureConnectionStart - performance.timing.connectStart |
| SSL (MS) | performance.timing.connectEnd - performance.timing.secureConnectionStart |
| FULL CONNECT (MS) | performance.timing.connectEnd - performance.timing.connectStart |
| WAIT (MS) | performance.timing.responseStart - performance.timing.requestStart |
| LOAD (MS) | performance.timing.responseEnd - performance.timing.responseStart |
| RESPONSE (MS) | performance.timing.responseEnd - performance.timing.navigationStart |
| DNS (MS) | performance.timing.domainLookupEnd - performance.timing.domainLookupStart |
| DOM INTERACTIVE (MS) | performance.timing.domInteractive - performance.timing.navigationStart |
| DOM LOADED (MS) | performance.timing.domContentLoadedEventStart - performance.timing.navigationStart |
| CONTENT LOAD (MS) | performance.timing.loadEventStart - performance.timing.domLoading |
| DOCUMENT COMPLETE (MS) | performance.timing.domComplete - performance.timing.navigationStart |
| REDIRECT (MS) |
performance.timing.redirectEnd - performance.timing.redirectStart |
| SECURE CONNECT(MS) | performance.timing.connectEnd-performance.timing.secureConnectionStart |