nice-grpc-prometheus
Version:
Prometheus monitoring for nice-grpc
13 lines (12 loc) • 1 kB
TypeScript
import { ServerMiddleware } from 'nice-grpc-common';
import { Counter, Histogram } from 'prom-client';
import { codeLabel, methodLabel, pathLabel, serviceLabel, typeLabel } from './common';
type PrometheusServerMiddlewareOptions = {
serverStartedMetric?: Counter<typeof typeLabel | typeof serviceLabel | typeof methodLabel | typeof pathLabel>;
serverHandledMetric?: Counter<typeof typeLabel | typeof serviceLabel | typeof methodLabel | typeof pathLabel | typeof codeLabel>;
serverStreamMsgReceivedMetric?: Counter<typeof typeLabel | typeof serviceLabel | typeof methodLabel | typeof pathLabel>;
serverStreamMsgSentMetric?: Counter<typeof typeLabel | typeof serviceLabel | typeof methodLabel | typeof pathLabel>;
serverHandlingSecondsMetric?: Histogram<typeof typeLabel | typeof serviceLabel | typeof methodLabel | typeof pathLabel | typeof codeLabel>;
};
export declare function prometheusServerMiddleware(options?: PrometheusServerMiddlewareOptions): ServerMiddleware;
export {};