UNPKG

@oaklean/profiler-core

Version:

Part of the @oaklean suite. It provides all basic functions to work with the `.oak` file format. It allows parsing the `.oak` file format as well as tools for analyzing the measurement values. It also provides all necessary capabilities required for prec

111 lines 7.27 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.MetricsDataCollection = void 0; const fs = __importStar(require("fs")); const PowerMetricsData_1 = require("./PowerMetricsData"); const PerfMetricsData_1 = require("./PerfMetricsData"); const WindowsSensorInterfaceMetricsData_1 = require("./WindowsSensorInterfaceMetricsData"); const BaseModel_1 = require("../BaseModel"); const PermissionHelper_1 = require("../../helper/PermissionHelper"); // Types const types_1 = require("../../types"); class MetricsDataCollection extends BaseModel_1.BaseModel { constructor(pid, type, items, timeInfo) { super(); this._pid = pid; this._type = type; this._items = items; this._timeInfo = timeInfo; } get pid() { return this._pid; } get type() { return this._type; } get items() { return this._items; } get timeInfo() { return this._timeInfo; } toJSON() { return { pid: this._pid, type: this._type, items: this._items.map((x) => x.toJSON()), timeInfo: { startTime: this._timeInfo.startTime.toString(), stopTime: this._timeInfo.stopTime.toString() } }; } storeToFile(filePath) { PermissionHelper_1.PermissionHelper.writeFileWithUserPermission(filePath, JSON.stringify(this)); } static fromJSON(json, // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/no-unused-vars ...args) { let data; if (typeof json === 'string') { data = JSON.parse(json); } else { data = json; } return new MetricsDataCollection(data.pid, data.type, data.items.map((x) => { switch (data.type) { case types_1.MetricsDataCollectionType.PowerMetricsPerProcess: return PowerMetricsData_1.PowerMetricsData.fromJSON(x); case types_1.MetricsDataCollectionType.PerfTotalSystem: return PerfMetricsData_1.PerfMetricsData.fromJSON(x); case types_1.MetricsDataCollectionType.WindowsSensorInterfaceTotalSystem: return WindowsSensorInterfaceMetricsData_1.WindowsSensorInterfaceMetricsData.fromJSON(x); } }), { startTime: BigInt(data.timeInfo.startTime), stopTime: BigInt(data.timeInfo.stopTime) }); } static loadFromFile(filePath) { if (!fs.existsSync(filePath.toPlatformString())) { return undefined; } return MetricsDataCollection.fromJSON(fs.readFileSync(filePath.toPlatformString()).toString()); } } exports.MetricsDataCollection = MetricsDataCollection; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWV0cmljc0RhdGFDb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZGVsL2ludGVyZmFjZXMvTWV0cmljc0RhdGFDb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF3QjtBQUd4Qix5REFBcUQ7QUFDckQsdURBQW1EO0FBQ25ELDJGQUF1RjtBQUd2Riw0Q0FBd0M7QUFDeEMsb0VBQWdFO0FBQ2hFLFFBQVE7QUFDUix1Q0FRb0I7QUFFcEIsTUFBYSxxQkFBc0IsU0FBUSxxQkFBUztJQU9uRCxZQUNDLEdBQVcsRUFDWCxJQUErQixFQUMvQixLQUF3QixFQUN4QixRQUFrQjtRQUVsQixLQUFLLEVBQUUsQ0FBQTtRQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFBO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUE7SUFDMUIsQ0FBQztJQUVELElBQUksR0FBRztRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtJQUNqQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFBO0lBQ2xCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDbkIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQTtJQUN0QixDQUFDO0lBRUQsTUFBTTtRQUNMLE9BQU87WUFDTixHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekMsUUFBUSxFQUFFO2dCQUNULFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzlDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7YUFDNUM7U0FDRCxDQUFBO0lBQ0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFxQjtRQUNoQyxtQ0FBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUNkLElBQXFDO0lBQ3JDLGdHQUFnRztJQUNoRyxHQUFHLElBQVc7UUFFZCxJQUFJLElBQTRCLENBQUE7UUFDaEMsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QixDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksR0FBRyxJQUFJLENBQUE7UUFDWixDQUFDO1FBRUQsT0FBTyxJQUFJLHFCQUFxQixDQUMvQixJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwQixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxpQ0FBeUIsQ0FBQyxzQkFBc0I7b0JBQ3BELE9BQU8sbUNBQWdCLENBQUMsUUFBUSxDQUFDLENBQXNCLENBQUMsQ0FBQTtnQkFDekQsS0FBSyxpQ0FBeUIsQ0FBQyxlQUFlO29CQUM3QyxPQUFPLGlDQUFlLENBQUMsUUFBUSxDQUFDLENBQXFCLENBQUMsQ0FBQTtnQkFDdkQsS0FBSyxpQ0FBeUIsQ0FBQyxpQ0FBaUM7b0JBQy9ELE9BQU8scUVBQWlDLENBQUMsUUFBUSxDQUNoRCxDQUF1QyxDQUN2QyxDQUFBO1lBQ0gsQ0FBQztRQUNGLENBQUMsQ0FBQyxFQUNGO1lBQ0MsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBdUI7WUFDaEUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBdUI7U0FDOUQsQ0FDRCxDQUFBO0lBQ0YsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQ2xCLFFBQXFCO1FBRXJCLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNqRCxPQUFPLFNBQVMsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQ3BDLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FDdkQsQ0FBQTtJQUNGLENBQUM7Q0FDRDtBQWhHRCxzREFnR0MifQ==