@neo-one/monitor
Version:
NEO•ONE monitoring.
60 lines (58 loc) • 7.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const NoOpMetricsFactory_1 = require("./NoOpMetricsFactory");
class ReportHandler {
constructor(logger) {
this.logger = logger;
}
report(report) {
report.logs.forEach((log) => {
const { error } = log;
let mutableErrorObj;
if (error !== undefined) {
mutableErrorObj = new Error(error.message);
if (error.stack !== undefined) {
mutableErrorObj.stack = error.stack;
}
if (error.code !== undefined) {
mutableErrorObj.code = error.code;
}
}
this.logger.log({
name: log.name,
level: log.level,
message: log.message,
labels: log.labels,
data: log.data,
error: error === undefined ? undefined : mutableErrorObj,
});
});
Object.values(report.metrics.counters).forEach((counterMetric) => {
const counter = NoOpMetricsFactory_1.metrics.createCounter(counterMetric.metric);
counterMetric.values.forEach((value) => {
if (typeof value.countOrLabels === 'number') {
counter.inc(value.countOrLabels);
}
else if (value.count !== undefined) {
counter.inc(value.countOrLabels, value.count);
}
else {
counter.inc(value.countOrLabels);
}
});
});
Object.values(report.metrics.histograms).forEach((histMetric) => {
const histogram = NoOpMetricsFactory_1.metrics.createHistogram(histMetric.metric);
histMetric.values.forEach((value) => {
if (typeof value.countOrLabels === 'number') {
histogram.observe(value.countOrLabels);
}
else if (value.countOrLabels !== undefined && value.count !== undefined) {
histogram.observe(value.countOrLabels, value.count);
}
});
});
}
}
exports.ReportHandler = ReportHandler;
//# sourceMappingURL=data:application/json;charset=utf8;base64,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UyxFQUFFO29CQUN6RSxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNyRDtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFuREQsc0NBbURDIiwiZmlsZSI6Im5lby1vbmUtbW9uaXRvci9zcmMvUmVwb3J0SGFuZGxlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dlciwgUmVwb3J0IH0gZnJvbSAnLi90eXBlcyc7XG5cbmltcG9ydCB7IG1ldHJpY3MgfSBmcm9tICcuL05vT3BNZXRyaWNzRmFjdG9yeSc7XG5cbmV4cG9ydCBjbGFzcyBSZXBvcnRIYW5kbGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXIpIHt9XG5cbiAgcHVibGljIHJlcG9ydChyZXBvcnQ6IFJlcG9ydCk6IHZvaWQge1xuICAgIHJlcG9ydC5sb2dzLmZvckVhY2goKGxvZykgPT4ge1xuICAgICAgY29uc3QgeyBlcnJvciB9ID0gbG9nO1xuICAgICAgbGV0IG11dGFibGVFcnJvck9iajogRXJyb3IgfCB1bmRlZmluZWQ7XG4gICAgICBpZiAoZXJyb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBtdXRhYmxlRXJyb3JPYmogPSBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIGlmIChlcnJvci5zdGFjayAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgbXV0YWJsZUVycm9yT2JqLnN0YWNrID0gZXJyb3Iuc3RhY2s7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yLmNvZGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby1vYmplY3QtbXV0YXRpb25cbiAgICAgICAgICAobXV0YWJsZUVycm9yT2JqIGFzIHsgY29kZT86IHN0cmluZyB9KS5jb2RlID0gZXJyb3IuY29kZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5sb2dnZXIubG9nKHtcbiAgICAgICAgbmFtZTogbG9nLm5hbWUsXG4gICAgICAgIGxldmVsOiBsb2cubGV2ZWwsXG4gICAgICAgIG1lc3NhZ2U6IGxvZy5tZXNzYWdlLFxuICAgICAgICBsYWJlbHM6IGxvZy5sYWJlbHMsXG4gICAgICAgIGRhdGE6IGxvZy5kYXRhLFxuICAgICAgICBlcnJvcjogZXJyb3IgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IG11dGFibGVFcnJvck9iaixcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgT2JqZWN0LnZhbHVlcyhyZXBvcnQubWV0cmljcy5jb3VudGVycykuZm9yRWFjaCgoY291bnRlck1ldHJpYykgPT4ge1xuICAgICAgY29uc3QgY291bnRlciA9IG1ldHJpY3MuY3JlYXRlQ291bnRlcihjb3VudGVyTWV0cmljLm1ldHJpYyk7XG4gICAgICBjb3VudGVyTWV0cmljLnZhbHVlcy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlLmNvdW50T3JMYWJlbHMgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgY291bnRlci5pbmModmFsdWUuY291bnRPckxhYmVscyk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUuY291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvdW50ZXIuaW5jKHZhbHVlLmNvdW50T3JMYWJlbHMsIHZhbHVlLmNvdW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb3VudGVyLmluYyh2YWx1ZS5jb3VudE9yTGFiZWxzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBPYmplY3QudmFsdWVzKHJlcG9ydC5tZXRyaWNzLmhpc3RvZ3JhbXMpLmZvckVhY2goKGhpc3RNZXRyaWMpID0+IHtcbiAgICAgIGNvbnN0IGhpc3RvZ3JhbSA9IG1ldHJpY3MuY3JlYXRlSGlzdG9ncmFtKGhpc3RNZXRyaWMubWV0cmljKTtcbiAgICAgIGhpc3RNZXRyaWMudmFsdWVzLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUuY291bnRPckxhYmVscyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICBoaXN0b2dyYW0ub2JzZXJ2ZSh2YWx1ZS5jb3VudE9yTGFiZWxzKTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5jb3VudE9yTGFiZWxzICE9PSB1bmRlZmluZWQgJiYgdmFsdWUuY291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGhpc3RvZ3JhbS5vYnNlcnZlKHZhbHVlLmNvdW50T3JMYWJlbHMsIHZhbHVlLmNvdW50KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==