Initial boiler plate project
This commit is contained in:
34
node_modules/next/dist/esm/lib/memory/gc-observer.js
generated
vendored
Normal file
34
node_modules/next/dist/esm/lib/memory/gc-observer.js
generated
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
import { PerformanceObserver } from "perf_hooks";
|
||||
import { warn } from "../../build/output/log";
|
||||
import { bold } from "../picocolors";
|
||||
const LONG_RUNNING_GC_THRESHOLD_MS = 15;
|
||||
const gcEvents = [];
|
||||
const obs = new PerformanceObserver((list)=>{
|
||||
const entry = list.getEntries()[0];
|
||||
gcEvents.push(entry);
|
||||
if (entry.duration > LONG_RUNNING_GC_THRESHOLD_MS) {
|
||||
warn(bold(`Long running GC detected: ${entry.duration.toFixed(2)}ms`));
|
||||
}
|
||||
});
|
||||
/**
|
||||
* Starts recording garbage collection events in the process and warn on long
|
||||
* running GCs. To disable, call `stopObservingGc`.
|
||||
*/ export function startObservingGc() {
|
||||
obs.observe({
|
||||
entryTypes: [
|
||||
"gc"
|
||||
]
|
||||
});
|
||||
}
|
||||
export function stopObservingGc() {
|
||||
obs.disconnect();
|
||||
}
|
||||
/**
|
||||
* Returns all recorded garbage collection events. This function will only
|
||||
* return information from when `startObservingGc` was enabled and before
|
||||
* `stopObservingGc` was called.
|
||||
*/ export function getGcEvents() {
|
||||
return gcEvents;
|
||||
}
|
||||
|
||||
//# sourceMappingURL=gc-observer.js.map
|
||||
Reference in New Issue
Block a user