perf - fix counting of major GCs (#214016)

This commit is contained in:
Benjamin Pasero 2024-05-31 16:51:30 +02:00 committed by GitHub
parent aaa5cb462e
commit 3a1ad5f077
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -179,11 +179,9 @@ export class NativeStartupTimings extends StartupTimings implements IWorkbenchCo
// Major/Minor GC Events
case 'MinorGC':
minorGCs++;
break;
case 'MajorGC':
majorGCs++;
if (event.args && typeof event.args.usedHeapSizeAfter === 'number' && typeof event.args.usedHeapSizeBefore === 'number') {
garbage += (event.args.usedHeapSizeBefore - event.args.usedHeapSizeAfter);
}
break;
// GC Events that block the main thread
@ -193,6 +191,12 @@ export class NativeStartupTimings extends StartupTimings implements IWorkbenchCo
duration += event.dur;
break;
}
if (event.name === 'MajorGC' || event.name === 'MinorGC') {
if (typeof event.args?.usedHeapSizeAfter === 'number' && typeof event.args.usedHeapSizeBefore === 'number') {
garbage += (event.args.usedHeapSizeBefore - event.args.usedHeapSizeAfter);
}
}
}
return { minorGCs, majorGCs, used, garbage, duration: Math.round(duration / 1000) };