add getNormalizedWebFrameResourceUsage util

This commit is contained in:
Abhinav 2023-01-06 23:01:37 +05:30
parent dd7081478f
commit ed0568a9a4

View file

@ -42,8 +42,8 @@ async function logSpikeMemoryUsage() {
async function logRendererProcessStats() { async function logRendererProcessStats() {
const blinkMemoryInfo = getNormalizedBlinkMemoryInfo(); const blinkMemoryInfo = getNormalizedBlinkMemoryInfo();
const heapStatistics = process.getHeapStatistics(); const heapStatistics = getNormalizedHeapStatistics();
const webFrameResourceUsage = webFrame.getResourceUsage(); const webFrameResourceUsage = getNormalizedWebFrameResourceUsage();
ElectronLog.log('renderer process stats', { ElectronLog.log('renderer process stats', {
blinkMemoryInfo, blinkMemoryInfo,
heapStatistics, heapStatistics,
@ -114,6 +114,62 @@ const getNormalizedHeapStatistics = () => {
}; };
}; };
const getNormalizedWebFrameResourceUsage = () => {
const webFrameResourceUsage = webFrame.getResourceUsage();
return {
images: {
count: webFrameResourceUsage.images.count,
size: convertBytesToHumanReadable(
webFrameResourceUsage.images.size
),
liveSize: convertBytesToHumanReadable(
webFrameResourceUsage.images.liveSize
),
},
scripts: {
count: webFrameResourceUsage.scripts.count,
size: convertBytesToHumanReadable(
webFrameResourceUsage.scripts.size
),
liveSize: convertBytesToHumanReadable(
webFrameResourceUsage.scripts.liveSize
),
},
cssStyleSheets: {
count: webFrameResourceUsage.cssStyleSheets.count,
size: convertBytesToHumanReadable(
webFrameResourceUsage.cssStyleSheets.size
),
liveSize: convertBytesToHumanReadable(
webFrameResourceUsage.cssStyleSheets.liveSize
),
},
xslStyleSheets: {
count: webFrameResourceUsage.xslStyleSheets.count,
size: convertBytesToHumanReadable(
webFrameResourceUsage.xslStyleSheets.size
),
liveSize: convertBytesToHumanReadable(
webFrameResourceUsage.xslStyleSheets.liveSize
),
},
fonts: {
count: webFrameResourceUsage.fonts.count,
size: convertBytesToHumanReadable(webFrameResourceUsage.fonts.size),
liveSize: convertBytesToHumanReadable(
webFrameResourceUsage.fonts.liveSize
),
},
other: {
count: webFrameResourceUsage.other.count,
size: convertBytesToHumanReadable(webFrameResourceUsage.other.size),
liveSize: convertBytesToHumanReadable(
webFrameResourceUsage.other.liveSize
),
},
};
};
function convertBytesToHumanReadable(bytes: number, precision = 2): string { function convertBytesToHumanReadable(bytes: number, precision = 2): string {
if (bytes === 0 || isNaN(bytes)) { if (bytes === 0 || isNaN(bytes)) {
return '0 MB'; return '0 MB';