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

59 lines 3.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PerfMetricsData = void 0; const BaseMetricsData_1 = require("./BaseMetricsData"); class PerfMetricsData extends BaseMetricsData_1.BaseMetricsData { constructor(data) { super(); this._data = data; } toJSON() { return { data: { elapsed_ns: this._data.elapsed_ns.toString(), cpu_energy: this._data.cpu_energy, ram_energy: this._data.ram_energy, timestamp: this._data.timestamp.toString() } }; } static fromJSON(json, ...args) { let data; if (typeof json === 'string') { data = JSON.parse(json); } else { data = json; } const result = new PerfMetricsData({ elapsed_ns: BigInt(data.data.elapsed_ns), cpu_energy: data.data.cpu_energy, ram_energy: data.data.ram_energy, timestamp: BigInt(data.data.timestamp) }); return result; } get duration() { return this._data.elapsed_ns; } get startTime() { return this._data.timestamp; } processIsPresent(pid) { return true; } energyPortionOfProcess(pid) { return 1; } get endTime() { return BigInt(this.startTime + this.duration); } cpuEnergy() { return this._data.cpu_energy; } ramEnergy() { return this._data.ram_energy; } } exports.PerfMetricsData = PerfMetricsData; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyZk1ldHJpY3NEYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZGVsL2ludGVyZmFjZXMvUGVyZk1ldHJpY3NEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUFtRDtBQVVuRCxNQUFhLGVBQWdCLFNBQVEsaUNBQWU7SUFHbkQsWUFBWSxJQUFrQztRQUM3QyxLQUFLLEVBQUUsQ0FBQTtRQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFFRCxNQUFNO1FBQ0wsT0FBTztZQUNOLElBQUksRUFBRTtnQkFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUM1QyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO2dCQUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO2dCQUNqQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO2FBQzFDO1NBQ0QsQ0FBQTtJQUNGLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQStCLEVBQUUsR0FBRyxJQUFXO1FBQzlELElBQUksSUFBc0IsQ0FBQTtRQUMxQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNaLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQztZQUNsQyxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUF1QjtZQUM5RCxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDaEMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBdUI7U0FDNUQsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxNQUFNLENBQUE7SUFDZCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUE7SUFDN0IsQ0FBQztJQUVELElBQVcsU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFBO0lBQzVCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFXO1FBQzNCLE9BQU8sSUFBSSxDQUFBO0lBQ1osQ0FBQztJQUVELHNCQUFzQixDQUFDLEdBQVc7UUFDakMsT0FBTyxDQUFDLENBQUE7SUFDVCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBdUIsQ0FBQTtJQUNwRSxDQUFDO0lBRUQsU0FBUztRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUE7SUFDN0IsQ0FBQztJQUVELFNBQVM7UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFBO0lBQzdCLENBQUM7Q0FDRDtBQS9ERCwwQ0ErREMifQ==