Profiler
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The Profiler interface of the JS Self-Profiling API enables you to create a profile of some part of your web application's execution.
Constructor
Profiler()Experimental-
Creates a new
Profilerobject, and starts collecting samples.
Instance methods
Profiler.stop()Experimental-
Stops the profiler, returning a
Promisethat resolves to the profile.
Events
samplebufferfull-
Fired when the profile has recorded enough samples to fill its internal buffer.
Examples
>Recording a profile
The following code profiles the doWork() operation, and logs the result.
const profiler = new Profiler({ sampleInterval: 10, maxBufferSize: 10000 });
doWork();
const profile = await profiler.stop();
console.log(JSON.stringify(profile));
Profiling page load
The following code profiles the time between the script first running and the window's load event firing.
const profiler = new Profiler({ sampleInterval: 10, maxBufferSize: 10000 });
window.addEventListener("load", async () => {
const profile = await profiler.stop();
console.log(JSON.stringify(profile));
});
Specifications
| Specification |
|---|
| JS Self-Profiling API> # the-profiler-interface> |
Browser compatibility
Loading…