UNPKG

@gati-framework/observability

Version:

Observability stack for Gati framework - Prometheus, Grafana, Loki, and Tracing

26 lines (25 loc) 920 B
import { PrometheusMetrics } from '../prometheus/metrics.js'; export class PrometheusAdapter { metrics; constructor() { this.metrics = new PrometheusMetrics(); } incrementCounter(name, labels, value = 1) { const counter = this.metrics.createCounter(name, `Counter for ${name}`, Object.keys(labels || {})); counter.inc(labels || {}, value); } setGauge(name, value, labels) { const gauge = this.metrics.createGauge(name, `Gauge for ${name}`, Object.keys(labels || {})); gauge.set(labels || {}, value); } recordHistogram(name, value, labels) { const histogram = this.metrics.createHistogram(name, `Histogram for ${name}`, Object.keys(labels || {})); histogram.observe(labels || {}, value); } async getMetrics() { return this.metrics.getMetrics(); } getPrometheusMetrics() { return this.metrics; } }