Files
hrmny becc655b0e Add 'turbopack/' from commit 'fb033c4917bb1bb98b238f1b4c7a928b66a90887'
git-subtree-dir: turbopack
git-subtree-mainline: 344ddbf093
git-subtree-split: fb033c4917
2024-08-01 16:50:52 +02:00

45 lines
1.4 KiB
JavaScript

let clientComponentLoadStart = 0;
let clientComponentLoadTimes = 0;
let clientComponentLoadCount = 0;
export function wrapClientComponentLoader(ComponentMod) {
if (!('performance' in globalThis)) {
return ComponentMod.__next_app__;
}
return {
require: (...args)=>{
const startTime = performance.now();
if (clientComponentLoadStart === 0) {
clientComponentLoadStart = startTime;
}
try {
clientComponentLoadCount += 1;
return ComponentMod.__next_app__.require(...args);
} finally{
clientComponentLoadTimes += performance.now() - startTime;
}
},
loadChunk: (...args)=>{
const startTime = performance.now();
try {
clientComponentLoadCount += 1;
return ComponentMod.__next_app__.loadChunk(...args);
} finally{
clientComponentLoadTimes += performance.now() - startTime;
}
}
};
}
export function getClientComponentLoaderMetrics(options = {}) {
const metrics = clientComponentLoadStart === 0 ? undefined : {
clientComponentLoadStart,
clientComponentLoadTimes,
clientComponentLoadCount
};
if (options.reset) {
clientComponentLoadStart = 0;
clientComponentLoadTimes = 0;
clientComponentLoadCount = 0;
}
return metrics;
}