@oaklean/profiler
Version:
A library to measure the energy consumption of your javascript/typescript code
60 lines • 4.63 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NodeInspectorProfiler = void 0;
const profiler_core_1 = require("@oaklean/profiler-core");
const CPUProfileCleanUpHelper_1 = require("./CPUProfileCleanUpHelper");
class NodeInspectorProfiler {
static startProfiling() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => {
profiler_core_1.InspectorSessionHelper.session.post('Profiler.enable', (err) => {
if (err) {
return reject(err);
}
profiler_core_1.InspectorSessionHelper.session.post('Profiler.start', (err) => {
if (err) {
return reject(err);
}
resolve();
});
});
});
});
}
static stopProfiling() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => {
profiler_core_1.InspectorSessionHelper.session.post('Profiler.stop', (err, result) => {
if (err) {
reject(err);
}
CPUProfileCleanUpHelper_1.CPUProfilerCleanUpHelper.cleanUpProfile(result.profile);
resolve(result.profile);
});
});
});
}
static setSamplingInterval(num) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => {
profiler_core_1.InspectorSessionHelper.session.post('Profiler.setSamplingInterval', { interval: num }, (err) => {
if (err) {
return reject(err);
}
resolve();
});
});
});
}
}
exports.NodeInspectorProfiler = NodeInspectorProfiler;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9kZUluc3BlY3RvclByb2ZpbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hlbHBlci9Ob2RlSW5zcGVjdG9yUHJvZmlsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsMERBRytCO0FBRS9CLHVFQUFvRTtBQUVwRSxNQUFhLHFCQUFxQjtJQUNqQyxNQUFNLENBQU8sY0FBYzs7WUFDMUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDdEMsc0NBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDbEMsaUJBQWlCLEVBQ2pCLENBQUMsR0FBaUIsRUFBRSxFQUFFO29CQUNyQixJQUFJLEdBQUcsRUFBRSxDQUFDO3dCQUNULE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO29CQUNuQixDQUFDO29CQUNELHNDQUFzQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2xDLGdCQUFnQixFQUNoQixDQUFDLEdBQWlCLEVBQUUsRUFBRTt3QkFDckIsSUFBSSxHQUFHLEVBQUUsQ0FBQzs0QkFDVCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTt3QkFDbkIsQ0FBQzt3QkFDRCxPQUFPLEVBQUUsQ0FBQTtvQkFDVixDQUFDLENBQ0QsQ0FBQTtnQkFDRixDQUFDLENBQ0QsQ0FBQTtZQUNGLENBQUMsQ0FBQyxDQUFBO1FBQ0gsQ0FBQztLQUFBO0lBRUQsTUFBTSxDQUFPLGFBQWE7O1lBQ3pCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3RDLHNDQUFzQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO29CQUNwRSxJQUFJLEdBQUcsRUFBRSxDQUFDO3dCQUNULE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtvQkFDWixDQUFDO29CQUNELGtEQUF3QixDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7b0JBQ3ZELE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQ3hCLENBQUMsQ0FBQyxDQUFBO1lBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDSCxDQUFDO0tBQUE7SUFFRCxNQUFNLENBQU8sbUJBQW1CLENBQUMsR0FBd0I7O1lBQ3hELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3RDLHNDQUFzQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2xDLDhCQUE4QixFQUM5QixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFDakIsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDUCxJQUFJLEdBQUcsRUFBRSxDQUFDO3dCQUNULE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO29CQUNuQixDQUFDO29CQUNELE9BQU8sRUFBRSxDQUFBO2dCQUNWLENBQUMsQ0FDRCxDQUFBO1lBQ0YsQ0FBQyxDQUFDLENBQUE7UUFDSCxDQUFDO0tBQUE7Q0FDRDtBQWpERCxzREFpREMifQ==