@message-queue-toolkit/metrics
Version:
Utilities for collecting metrics in message-queue-toolkit
11 lines (10 loc) • 874 B
TypeScript
import type { ProcessedMessageMetadata } from '@message-queue-toolkit/core';
import type { Histogram } from 'prom-client';
import type promClient from 'prom-client';
import { PrometheusMessageMetric } from '../../PrometheusMessageMetric.ts';
import type { PrometheusMetricParams } from '../../types.ts';
export declare abstract class PrometheusMessageTimeMetric<MessagePayload extends object> extends PrometheusMessageMetric<MessagePayload, Histogram<'messageType' | 'version' | 'queue' | 'result'>> {
protected createMetric(client: typeof promClient, metricParams: PrometheusMetricParams<MessagePayload>): Histogram<'messageType' | 'version' | 'queue' | 'result'>;
registerProcessedMessage(metadata: ProcessedMessageMetadata<MessagePayload>): void;
protected abstract calculateObservedValue(metadata: ProcessedMessageMetadata<MessagePayload>): number | null;
}