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() {
const blinkMemoryInfo = getNormalizedBlinkMemoryInfo();
const heapStatistics = process.getHeapStatistics();
const webFrameResourceUsage = webFrame.getResourceUsage();
const heapStatistics = getNormalizedHeapStatistics();
const webFrameResourceUsage = getNormalizedWebFrameResourceUsage();
ElectronLog.log('renderer process stats', {
blinkMemoryInfo,
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 {
if (bytes === 0 || isNaN(bytes)) {
return '0 MB';