UNPKG

@atomist/automation-client

Version:

Atomist API for software low-level client

39 lines 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const _metrics = require("metrics"); const os = require("os"); const report = new _metrics.Report(); function increment(name) { const counter = getCounter(name); counter.inc(); report.addMetric(name, counter); } exports.increment = increment; // tslint:disable-next-line:no-shadowed-variable function duration(name, duration) { const timer = getTimer(name); timer.update(duration); report.addMetric(name, timer); } exports.duration = duration; function getCounter(name) { return report.getMetric(name) || new _metrics.Counter(); } exports.getCounter = getCounter; function getTimer(name) { return report.getMetric(name) || new _metrics.Timer(); } exports.getTimer = getTimer; function metrics() { const m = Object.assign(Object.assign({}, report.summary()), { heap: { used: process.memoryUsage().heapUsed, total: process.memoryUsage().heapTotal, rss: process.memoryUsage().rss, }, memory: { free: os.freemem(), total: os.totalmem(), }, uptime: process.uptime() }); return m; } exports.metrics = metrics; //# sourceMappingURL=metric.js.map