@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
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, ...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==