Skip to content

Commit 0d79fcd

Browse files
committed
Add new snippet Event Processing Time
1 parent 6aeea9c commit 0d79fcd

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Event Processing Time
2+
3+
Find the process time it took for events to finish.
4+
5+
### Snippet
6+
7+
```js copy
8+
const events = new Map([
9+
["connectTime", { start: "connectStart", end: "connectEnd" }],
10+
["domainLookupTime", { start: "domainLookupStart", end: "domainLookupEnd" }],
11+
[
12+
"DOMContentLoaded",
13+
{ start: "domContentLoadedEventStart", end: "domContentLoadedEventEnd" }
14+
],
15+
16+
["onload", { start: "loadEventStart", end: "loadEventEnd" }]
17+
]);
18+
19+
const observer = new PerformanceObserver((list) => {
20+
const displayTimes = [];
21+
list.getEntries().forEach((entry) => {
22+
console.log(entry);
23+
for (const [key, value] of events) {
24+
const endValue = entry[value.end];
25+
const startValue = entry[value.start];
26+
27+
const eventTime = endValue - startValue;
28+
29+
displayTimes.push({
30+
url: entry.name,
31+
event: key,
32+
processingTime: `${eventTime.toFixed(2)} ms`
33+
});
34+
}
35+
});
36+
37+
console.table(displayTimes);
38+
});
39+
40+
observer.observe({ type: "navigation", buffered: true });
41+
```

0 commit comments

Comments
 (0)