How data is collected

By the combined power of observing the document tree for changes (Mutation Observer) and instrumenting native methods for requests (such as XMLHttpRequest) we’re able to keep track of resource loading starts and ends. However as those are basic start and end metrics and can be inaccurate, we additionally use the Resource Timings API to get a detailed breakdown of the request’s life-cycle from the browser whenever available.