UNPKG

@message-queue-toolkit/metrics

Version:

Utilities for collecting metrics in message-queue-toolkit

12 lines (11 loc) 1.03 kB
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; }