@message-queue-toolkit/metrics
Version:
Utilities for collecting metrics in message-queue-toolkit
24 lines • 983 B
JavaScript
import { PrometheusMessageMetric } from "../../PrometheusMessageMetric.js";
export class PrometheusMessageTimeMetric extends 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);
}
}
//# sourceMappingURL=PrometheusMessageTimeMetric.js.map