@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
68 lines • 4.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WindowsSensorInterfaceMetricsData = void 0;
const BaseMetricsData_1 = require("./BaseMetricsData");
class WindowsSensorInterfaceMetricsData 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,
gpu_energy: this._data.gpu_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 WindowsSensorInterfaceMetricsData({
elapsed_ns: BigInt(data.data.elapsed_ns),
cpu_energy: data.data.cpu_energy,
ram_energy: data.data.ram_energy,
gpu_energy: data.data.gpu_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;
}
gpuEnergy() {
return this._data.gpu_energy;
}
}
exports.WindowsSensorInterfaceMetricsData = WindowsSensorInterfaceMetricsData;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93c1NlbnNvckludGVyZmFjZU1ldHJpY3NEYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZGVsL2ludGVyZmFjZXMvV2luZG93c1NlbnNvckludGVyZmFjZU1ldHJpY3NEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUFtRDtBQVVuRCxNQUFhLGlDQUFrQyxTQUFRLGlDQUFlO0lBR3JFLFlBQVksSUFBb0Q7UUFDL0QsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtJQUNsQixDQUFDO0lBRUQsTUFBTTtRQUNMLE9BQU87WUFDTixJQUFJLEVBQUU7Z0JBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQkFDNUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtnQkFDakMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtnQkFDakMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtnQkFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTthQUMxQztTQUNELENBQUE7SUFDRixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FDZCxJQUFpRDtJQUNqRCxpR0FBaUc7SUFDakcsR0FBRyxJQUFXO1FBRWQsSUFBSSxJQUF3QyxDQUFBO1FBQzVDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDUCxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ1osQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksaUNBQWlDLENBQUM7WUFDcEQsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBdUI7WUFDOUQsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNoQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDaEMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBdUI7U0FDNUQsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxNQUFNLENBQUE7SUFDZCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUE7SUFDN0IsQ0FBQztJQUVELElBQVcsU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFBO0lBQzVCLENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsZ0JBQWdCLENBQUMsR0FBVztRQUMzQixPQUFPLElBQUksQ0FBQTtJQUNaLENBQUM7SUFFRCw2REFBNkQ7SUFDN0Qsc0JBQXNCLENBQUMsR0FBVztRQUNqQyxPQUFPLENBQUMsQ0FBQTtJQUNULENBQUM7SUFFRCxJQUFXLE9BQU87UUFDakIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUF1QixDQUFBO0lBQ3BFLENBQUM7SUFFRCxTQUFTO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQTtJQUM3QixDQUFDO0lBRUQsU0FBUztRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUE7SUFDN0IsQ0FBQztJQUVELFNBQVM7UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFBO0lBQzdCLENBQUM7Q0FDRDtBQTNFRCw4RUEyRUMifQ==