@message-queue-toolkit/metrics
Version:
Utilities for collecting metrics in message-queue-toolkit
24 lines (23 loc) • 782 B
TypeScript
import type { ProcessedMessageMetadata } from '@message-queue-toolkit/core';
/**
* Parameters used for registering message processing metrics in Prometheus
*/
export type PrometheusMetricParams<T extends object> = {
/**
* Prometheus metric name
*/
name: string;
/**
* Prometheus metric description
*/
helpDescription: string;
/**
* Buckets used to configure Histogram metric
*/
buckets?: number[];
/**
* Message version used as a label - can be static string or method resolving version based on payload
*/
messageVersion?: string | MessageVersionGeneratingFunction<T>;
};
export type MessageVersionGeneratingFunction<T extends object> = (messageMetadata: ProcessedMessageMetadata<T>) => string | undefined;