@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
63 lines • 3.92 kB
JavaScript
;
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,
// 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;
}
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;
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
processIsPresent(pid) {
return true;
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyZk1ldHJpY3NEYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZGVsL2ludGVyZmFjZXMvUGVyZk1ldHJpY3NEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUFtRDtBQVVuRCxNQUFhLGVBQWdCLFNBQVEsaUNBQWU7SUFHbkQsWUFBWSxJQUFrQztRQUM3QyxLQUFLLEVBQUUsQ0FBQTtRQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFFRCxNQUFNO1FBQ0wsT0FBTztZQUNOLElBQUksRUFBRTtnQkFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUM1QyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO2dCQUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO2dCQUNqQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO2FBQzFDO1NBQ0QsQ0FBQTtJQUNGLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUNkLElBQStCO0lBQy9CLGdHQUFnRztJQUNoRyxHQUFHLElBQVc7UUFFZCxJQUFJLElBQXNCLENBQUE7UUFDMUIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QixDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksR0FBRyxJQUFJLENBQUE7UUFDWixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUM7WUFDbEMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBdUI7WUFDOUQsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNoQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQ2hDLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQXVCO1NBQzVELENBQUMsQ0FBQTtRQUNGLE9BQU8sTUFBTSxDQUFBO0lBQ2QsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFBO0lBQzdCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQTtJQUM1QixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELGdCQUFnQixDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFJLENBQUE7SUFDWixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELHNCQUFzQixDQUFDLEdBQVc7UUFDakMsT0FBTyxDQUFDLENBQUE7SUFDVCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBdUIsQ0FBQTtJQUNwRSxDQUFDO0lBRUQsU0FBUztRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUE7SUFDN0IsQ0FBQztJQUVELFNBQVM7UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFBO0lBQzdCLENBQUM7Q0FDRDtBQXJFRCwwQ0FxRUMifQ==