Skip to content

Instantly share code, notes, and snippets.

@npm1
Last active December 7, 2017 18:49
Show Gist options
  • Save npm1/d2f14011ec6cb7b40c57608951f98e07 to your computer and use it in GitHub Desktop.
Save npm1/d2f14011ec6cb7b40c57608951f98e07 to your computer and use it in GitHub Desktop.
LongTasks EQT estimator
let longTaskObserver, beginTime, endTime;
let taskDurations = [];
function begin() {
longTaskObserver = new PerformanceObserver(function(entryList) {
const entries = entryList.getEntries();
for (let i = 0; i < entries.length; i++) {
taskDurations.push(entries[i].duration);
}
});
beginTime = performance.now();
longTaskObserver.observe({entryTypes: ['longtask']});
}
let result = 0;
function end() {
longTaskObserver.disconnect();
endTime = performance.now();
for (let i = 0; i < taskDurations.length; i++) {
result += (taskDurations[i] * taskDurations[i]) / (2*(endTime - beginTime));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment