perfrunner-core
Version:
Automated UI performance test tool to measure performance changes for the web apps and sites
24 lines (23 loc) • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.processPerfData = void 0;
const utils_1 = require("./utils");
const merge_1 = require("./merge");
const transform_1 = require("./transform");
const toMiliseconds = (v) => (v !== null && v !== void 0 ? v : 0) * 1000;
const processPerfData = (rawPerformanceData) => {
const metrics = rawPerformanceData.map((x) => x.metrics);
const mergedMetrics = (0, merge_1.mergeWithRules)(metrics, { Timestamp: merge_1.exclude });
const normalizedMetrics = (0, transform_1.transform)(mergedMetrics, {
TaskDuration: toMiliseconds,
RecalcStyleCount: toMiliseconds,
RecalcStyleDuration: toMiliseconds,
ScriptDuration: toMiliseconds,
LayoutDuration: toMiliseconds,
});
const perfEntries = rawPerformanceData.map((x) => x.performanceEntries);
const grouped = (0, utils_1.groupEntries)(perfEntries);
const mergedPerfEntries = grouped.map((group) => (0, merge_1.mergeWithRules)(group, { nextHopProtocol: merge_1.exclude, toJSON: merge_1.exclude, element: merge_1.exclude }));
return { pageMetrics: normalizedMetrics, performanceEntries: mergedPerfEntries };
};
exports.processPerfData = processPerfData;