refactor: use a destructor to shorten the calls (#2376)
This commit is contained in:
+3
-3
@@ -53,6 +53,8 @@ import {stableIdSymbol} from './utils/id.js';
|
||||
import {paginate} from './utils/pagination.js';
|
||||
import type {WaitForEventsResult} from './WaitForHelper.js';
|
||||
|
||||
const {formatBytesToKb} = DevTools.I18n.ByteUtilities;
|
||||
|
||||
export type DataFormat = 'default' | 'toon' | 'gcf';
|
||||
|
||||
interface TraceInsightData {
|
||||
@@ -1073,9 +1075,7 @@ Call ${handleDialog.name} to handle it before continuing.`);
|
||||
|
||||
response.push(`Objects: ${aggregateData.objectCount}`);
|
||||
response.push(
|
||||
`Total shallow size: ${DevTools.I18n.ByteUtilities.formatBytesToKb(
|
||||
aggregateData.totalSelfSize,
|
||||
)}`,
|
||||
`Total shallow size: ${formatBytesToKb(aggregateData.totalSelfSize)}`,
|
||||
);
|
||||
structuredContent.heapSnapshot = structuredContent.heapSnapshot || {};
|
||||
structuredContent.heapSnapshot.aggregateStats = {
|
||||
|
||||
@@ -13,6 +13,8 @@ import type {
|
||||
import {DevTools} from '../third_party/index.js';
|
||||
import {stableIdSymbol} from '../utils/id.js';
|
||||
|
||||
const {formatBytesToKb} = DevTools.I18n.ByteUtilities;
|
||||
|
||||
export interface FormattedSnapshotEntry {
|
||||
className: string;
|
||||
id?: number;
|
||||
@@ -72,7 +74,7 @@ export class HeapSnapshotFormatter {
|
||||
for (const item of items) {
|
||||
if (isNodeLike(item)) {
|
||||
lines.push(
|
||||
`${item.id},${item.name},${item.type},${item.distance},${DevTools.I18n.ByteUtilities.formatBytesToKb(item.selfSize)},${DevTools.I18n.ByteUtilities.formatBytesToKb(item.retainedSize)}`,
|
||||
`${item.id},${item.name},${item.type},${item.distance},${formatBytesToKb(item.selfSize)},${formatBytesToKb(item.retainedSize)}`,
|
||||
);
|
||||
} else if (isEdgeLike(item)) {
|
||||
lines.push(
|
||||
@@ -116,7 +118,7 @@ export class HeapSnapshotFormatter {
|
||||
lines.push('nodeId,nodeName,selfSize,retainedSize');
|
||||
for (const node of dominators) {
|
||||
lines.push(
|
||||
`${node.nodeId},${node.nodeName},${DevTools.I18n.ByteUtilities.formatBytesToKb(node.selfSize)},${DevTools.I18n.ByteUtilities.formatBytesToKb(node.retainedSize)}`,
|
||||
`${node.nodeId},${node.nodeName},${formatBytesToKb(node.selfSize)},${formatBytesToKb(node.retainedSize)}`,
|
||||
);
|
||||
}
|
||||
return lines.join('\n');
|
||||
@@ -131,7 +133,7 @@ export class HeapSnapshotFormatter {
|
||||
const nodeIds = group.nodes.map(n => `@${n.id}`).join(' ');
|
||||
const truncated = group.truncated ?? false;
|
||||
lines.push(
|
||||
`${JSON.stringify(group.value)},${group.count},${DevTools.I18n.ByteUtilities.formatBytesToKb(group.totalSelfSize)},${DevTools.I18n.ByteUtilities.formatBytesToKb(group.totalRetainedSize)},${truncated},${nodeIds}`,
|
||||
`${JSON.stringify(group.value)},${group.count},${formatBytesToKb(group.totalSelfSize)},${formatBytesToKb(group.totalRetainedSize)},${truncated},${nodeIds}`,
|
||||
);
|
||||
}
|
||||
return lines.join('\n');
|
||||
@@ -147,14 +149,12 @@ export class HeapSnapshotFormatter {
|
||||
);
|
||||
for (const nc of sortedContexts) {
|
||||
lines.push(
|
||||
`${nc.nodeId},${nc.nodeName},${DevTools.I18n.ByteUtilities.formatBytesToKb(nc.selfSize)},${DevTools.I18n.ByteUtilities.formatBytesToKb(nc.retainedSize)},${DevTools.I18n.ByteUtilities.formatBytesToKb(nc.attributedSize)}`,
|
||||
`${nc.nodeId},${nc.nodeName},${formatBytesToKb(nc.selfSize)},${formatBytesToKb(nc.retainedSize)},${formatBytesToKb(nc.attributedSize)}`,
|
||||
);
|
||||
}
|
||||
lines.push(`Shared Size: ${formatBytesToKb(sizes.sharedSize)}`);
|
||||
lines.push(
|
||||
`Shared Size: ${DevTools.I18n.ByteUtilities.formatBytesToKb(sizes.sharedSize)}`,
|
||||
);
|
||||
lines.push(
|
||||
`Unattributed Size: ${DevTools.I18n.ByteUtilities.formatBytesToKb(sizes.noAttributionSize)}`,
|
||||
`Unattributed Size: ${formatBytesToKb(sizes.noAttributionSize)}`,
|
||||
);
|
||||
return lines.join('\n');
|
||||
}
|
||||
@@ -171,7 +171,7 @@ export class HeapSnapshotFormatter {
|
||||
for (const info of sorted) {
|
||||
const id = info[stableIdSymbol] ?? '';
|
||||
lines.push(
|
||||
`${id},${info.name},${info.count},${DevTools.I18n.ByteUtilities.formatBytesToKb(info.self)},${DevTools.I18n.ByteUtilities.formatBytesToKb(info.maxRet)}`,
|
||||
`${id},${info.name},${info.count},${formatBytesToKb(info.self)},${formatBytesToKb(info.maxRet)}`,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -184,8 +184,8 @@ export class HeapSnapshotFormatter {
|
||||
id: info[stableIdSymbol],
|
||||
className: info.name,
|
||||
count: info.count,
|
||||
selfSize: DevTools.I18n.ByteUtilities.formatBytesToKb(info.self),
|
||||
retainedSize: DevTools.I18n.ByteUtilities.formatBytesToKb(info.maxRet),
|
||||
selfSize: formatBytesToKb(info.self),
|
||||
retainedSize: formatBytesToKb(info.maxRet),
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ export class HeapSnapshotFormatter {
|
||||
let index = 0;
|
||||
for (const diff of diffs) {
|
||||
lines.push(
|
||||
`${index},${diff.className},${diff.addedCount},${diff.removedCount},${diff.countDelta},${DevTools.I18n.ByteUtilities.formatBytesToKb(diff.addedSize)},${DevTools.I18n.ByteUtilities.formatBytesToKb(diff.removedSize)},${DevTools.I18n.ByteUtilities.formatBytesToKb(diff.sizeDelta)}`,
|
||||
`${index},${diff.className},${diff.addedCount},${diff.removedCount},${diff.countDelta},${formatBytesToKb(diff.addedSize)},${formatBytesToKb(diff.removedSize)},${formatBytesToKb(diff.sizeDelta)}`,
|
||||
);
|
||||
index++;
|
||||
}
|
||||
@@ -232,12 +232,12 @@ export class HeapSnapshotFormatter {
|
||||
|
||||
for (let i = 0; i < addedIds.length; i++) {
|
||||
lines.push(
|
||||
` + @${addedIds[i]} (self_size: ${DevTools.I18n.ByteUtilities.formatBytesToKb(addedSelfSizes[i])})`,
|
||||
` + @${addedIds[i]} (self_size: ${formatBytesToKb(addedSelfSizes[i])})`,
|
||||
);
|
||||
}
|
||||
for (let i = 0; i < deletedIds.length; i++) {
|
||||
lines.push(
|
||||
` - @${deletedIds[i]} (self_size: ${DevTools.I18n.ByteUtilities.formatBytesToKb(deletedSelfSizes[i])})`,
|
||||
` - @${deletedIds[i]} (self_size: ${formatBytesToKb(deletedSelfSizes[i])})`,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -252,8 +252,8 @@ export class HeapSnapshotFormatter {
|
||||
`name: ${info.name}`,
|
||||
`type: ${info.type}`,
|
||||
`detachedness: ${formatDOMLinkState(info.detachedness)}`,
|
||||
`selfSize: ${DevTools.I18n.ByteUtilities.formatBytesToKb(info.selfSize)}`,
|
||||
`retainedSize: ${DevTools.I18n.ByteUtilities.formatBytesToKb(info.retainedSize)}`,
|
||||
`selfSize: ${formatBytesToKb(info.selfSize)}`,
|
||||
`retainedSize: ${formatBytesToKb(info.retainedSize)}`,
|
||||
`distance: ${info.distance}`,
|
||||
`edgeCount: ${info.edgeCount}`,
|
||||
`retainerCount: ${info.retainerCount}`,
|
||||
@@ -281,6 +281,6 @@ function formatSignedCount(n: number): string {
|
||||
}
|
||||
|
||||
function formatSignedSize(bytes: number): string {
|
||||
const formatted = DevTools.I18n.ByteUtilities.formatBytesToKb(bytes);
|
||||
const formatted = formatBytesToKb(bytes);
|
||||
return bytes > 0 ? `+${formatted}` : formatted;
|
||||
}
|
||||
|
||||
@@ -11,6 +11,8 @@ import {HeapSnapshotFormatter} from '../../src/formatters/HeapSnapshotFormatter.
|
||||
import {DevTools} from '../../src/third_party/index.js';
|
||||
import {stableIdSymbol} from '../../src/utils/id.js';
|
||||
|
||||
const {formatBytesToKb} = DevTools.I18n.ByteUtilities;
|
||||
|
||||
describe('HeapSnapshotFormatter', () => {
|
||||
DevTools.I18n.DevToolsLocale.DevToolsLocale.instance({
|
||||
create: true,
|
||||
@@ -62,15 +64,15 @@ describe('HeapSnapshotFormatter', () => {
|
||||
id: 1,
|
||||
className: 'ObjectA',
|
||||
count: 10,
|
||||
selfSize: DevTools.I18n.ByteUtilities.formatBytesToKb(100),
|
||||
retainedSize: DevTools.I18n.ByteUtilities.formatBytesToKb(1000),
|
||||
selfSize: formatBytesToKb(100),
|
||||
retainedSize: formatBytesToKb(1000),
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
className: 'ObjectB',
|
||||
count: 5,
|
||||
selfSize: DevTools.I18n.ByteUtilities.formatBytesToKb(50),
|
||||
retainedSize: DevTools.I18n.ByteUtilities.formatBytesToKb(500),
|
||||
selfSize: formatBytesToKb(50),
|
||||
retainedSize: formatBytesToKb(500),
|
||||
},
|
||||
]);
|
||||
});
|
||||
@@ -146,7 +148,7 @@ describe('HeapSnapshotFormatter', () => {
|
||||
const result = HeapSnapshotFormatter.formatDiffSummary(summarized);
|
||||
const expected = [
|
||||
'index,className,addedCount,removedCount,countDelta,addedSize,removedSize,sizeDelta',
|
||||
`0,Balanced,1,1,0,${DevTools.I18n.ByteUtilities.formatBytesToKb(100)},${DevTools.I18n.ByteUtilities.formatBytesToKb(100)},${DevTools.I18n.ByteUtilities.formatBytesToKb(0)}`,
|
||||
`0,Balanced,1,1,0,${formatBytesToKb(100)},${formatBytesToKb(100)},${formatBytesToKb(0)}`,
|
||||
].join('\n');
|
||||
|
||||
assert.strictEqual(result, expected);
|
||||
@@ -175,8 +177,8 @@ describe('HeapSnapshotFormatter', () => {
|
||||
};
|
||||
|
||||
const formatted = HeapSnapshotFormatter.formatDiffDetails(details);
|
||||
const formatted120 = DevTools.I18n.ByteUtilities.formatBytesToKb(120);
|
||||
const formatted60 = DevTools.I18n.ByteUtilities.formatBytesToKb(60);
|
||||
const formatted120 = formatBytesToKb(120);
|
||||
const formatted60 = formatBytesToKb(60);
|
||||
|
||||
const expected = [
|
||||
`MyClass: # new: 2, # deleted: 1, # delta: +1, alloc size: +${formatted120}, freed size: +${formatted60}, size delta: +${formatted60}`,
|
||||
@@ -278,8 +280,8 @@ describe('HeapSnapshotFormatter', () => {
|
||||
const result = HeapSnapshotFormatter.formatDominators(mockDominators);
|
||||
const expected = [
|
||||
'nodeId,nodeName,selfSize,retainedSize',
|
||||
`10,ClassA,${DevTools.I18n.ByteUtilities.formatBytesToKb(100)},${DevTools.I18n.ByteUtilities.formatBytesToKb(1000)}`,
|
||||
`20,ClassB,${DevTools.I18n.ByteUtilities.formatBytesToKb(50)},${DevTools.I18n.ByteUtilities.formatBytesToKb(500)}`,
|
||||
`10,ClassA,${formatBytesToKb(100)},${formatBytesToKb(1000)}`,
|
||||
`20,ClassB,${formatBytesToKb(50)},${formatBytesToKb(500)}`,
|
||||
].join('\n');
|
||||
|
||||
assert.strictEqual(result, expected);
|
||||
@@ -323,10 +325,10 @@ describe('HeapSnapshotFormatter', () => {
|
||||
const result = HeapSnapshotFormatter.formatNativeContextSizes(mockSizes);
|
||||
const expected = [
|
||||
'nodeId,nodeName,selfSize,retainedSize,attributedSize',
|
||||
`20,system / NativeContext / https://example.com,${DevTools.I18n.ByteUtilities.formatBytesToKb(200)},${DevTools.I18n.ByteUtilities.formatBytesToKb(5000)},${DevTools.I18n.ByteUtilities.formatBytesToKb(2000)}`,
|
||||
`10,system / NativeContext,${DevTools.I18n.ByteUtilities.formatBytesToKb(100)},${DevTools.I18n.ByteUtilities.formatBytesToKb(1000)},${DevTools.I18n.ByteUtilities.formatBytesToKb(500)}`,
|
||||
`Shared Size: ${DevTools.I18n.ByteUtilities.formatBytesToKb(300)}`,
|
||||
`Unattributed Size: ${DevTools.I18n.ByteUtilities.formatBytesToKb(400)}`,
|
||||
`20,system / NativeContext / https://example.com,${formatBytesToKb(200)},${formatBytesToKb(5000)},${formatBytesToKb(2000)}`,
|
||||
`10,system / NativeContext,${formatBytesToKb(100)},${formatBytesToKb(1000)},${formatBytesToKb(500)}`,
|
||||
`Shared Size: ${formatBytesToKb(300)}`,
|
||||
`Unattributed Size: ${formatBytesToKb(400)}`,
|
||||
].join('\n');
|
||||
|
||||
assert.strictEqual(result, expected);
|
||||
|
||||
Reference in New Issue
Block a user