UNPKG

@hemantwasthere/monitoring-sdk

Version:

Centralized monitoring SDK for Node.js applications with Prometheus, Loki, and Grafana integration

24 lines (23 loc) 1.14 kB
import * as client from "prom-client"; import { CronJobMetric, CustomMetricConfig, MonitoringConfig } from "./types"; export declare class MetricsService { private static instance; private config; private httpRequestDuration; private cronJobDuration; private cronJobFailures; private customMetrics; private constructor(); static getInstance(config?: MonitoringConfig): MetricsService; private initializeMetrics; recordHttpRequest(method: string, route: string, statusCode: number, duration: number): void; recordCronJob(metric: CronJobMetric): void; createCustomMetric(config: CustomMetricConfig): client.Metric<string>; getCustomMetric(name: string): client.Metric<string> | undefined; getMetrics(): Promise<string>; getRegistry(): client.Registry; createCounter(name: string, help: string, labelNames?: string[]): client.Counter<string>; createGauge(name: string, help: string, labelNames?: string[]): client.Gauge<string>; createHistogram(name: string, help: string, labelNames?: string[], buckets?: number[]): client.Histogram<string>; static reset(): void; }