@message-queue-toolkit/metrics
Version:
Utilities for collecting metrics in message-queue-toolkit
28 lines • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PrometheusMessageTimeMetric = void 0;
const PrometheusMessageMetric_1 = require("../../PrometheusMessageMetric");
class PrometheusMessageTimeMetric extends PrometheusMessageMetric_1.PrometheusMessageMetric {
createMetric(client, metricParams) {
return new client.Histogram({
name: metricParams.name,
help: metricParams.helpDescription,
buckets: metricParams.buckets,
labelNames: ['messageType', 'version', 'queue', 'result'],
});
}
registerProcessedMessage(metadata) {
const observedValue = this.calculateObservedValue(metadata);
// Data not available, skipping
if (observedValue === null)
return;
this.metric.observe({
messageType: metadata.messageType,
version: this.messageVersionGeneratingFunction(metadata),
queue: metadata.queueName,
result: metadata.processingResult.status,
}, observedValue);
}
}
exports.PrometheusMessageTimeMetric = PrometheusMessageTimeMetric;
//# sourceMappingURL=PrometheusMessageTimeMetric.js.map