@message-queue-toolkit/metrics
Version:
Utilities for collecting metrics in message-queue-toolkit
12 lines (11 loc) • 1.03 kB
TypeScript
import type { MakeRequired } from '@lokalise/universal-ts-utils/node';
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'>, MakeRequired<PrometheusMetricParams<MessagePayload>, 'buckets'>> {
protected createMetric(client: typeof promClient, metricParams: MakeRequired<PrometheusMetricParams<MessagePayload>, 'buckets'>): Histogram<'messageType' | 'version' | 'queue' | 'result'>;
registerProcessedMessage(metadata: ProcessedMessageMetadata<MessagePayload>): void;
protected abstract calculateObservedValue(metadata: ProcessedMessageMetadata<MessagePayload>): number | null;
}