19 lines
1001 B
JavaScript
19 lines
1001 B
JavaScript
import { info } from "../../build/output/log";
|
|
import { bold } from "../picocolors";
|
|
import { getGcEvents, stopObservingGc } from "./gc-observer";
|
|
import { getAllMemoryUsageSpans, stopPeriodicMemoryUsageTracing } from "./trace";
|
|
export function disableMemoryDebuggingMode() {
|
|
stopPeriodicMemoryUsageTracing();
|
|
stopObservingGc();
|
|
info(bold("Memory usage report:"));
|
|
const gcEvents = getGcEvents();
|
|
const totalTimeInGcMs = gcEvents.reduce((acc, event)=>acc + event.duration, 0);
|
|
info(` - Total time spent in GC: ${totalTimeInGcMs.toFixed(2)}ms`);
|
|
const allMemoryUsage = getAllMemoryUsageSpans();
|
|
const peakHeapUsage = Math.max(...allMemoryUsage.map((usage)=>usage["memory.heapUsed"]));
|
|
const peakRssUsage = Math.max(...allMemoryUsage.map((usage)=>usage["memory.rss"]));
|
|
info(` - Peak heap usage: ${(peakHeapUsage / 1024 / 1024).toFixed(2)} MB`);
|
|
info(` - Peak RSS usage: ${(peakRssUsage / 1024 / 1024).toFixed(2)} MB`);
|
|
}
|
|
|
|
//# sourceMappingURL=shutdown.js.map
|