Examples

Example 1

import { MetricsPlugin } from '@setu-ts/metrics-plugin';

app.register(MetricsPlugin({
  endpoint: '/metrics',
  httpMetrics: true,
}));

// Record metrics
const metrics = ctx.services.get<IMetricsService>('metrics');
const counter = metrics.counter('my_counter', { help: 'My counter' });
counter.inc(1);

Classes

c
MetricsService(options?: MetricsServiceOptions)

The metrics service — provides factory methods for creating metrics and rendering them in Prometheus format.

Functions

Interfaces

I
ICounter

Monotonically increasing counter. observe / inc add a non-negative value.

I
IHistogram

Histogram: bucketed observation distribution plus sum and count.

I
IMetric

A registered metric.

I
IMetricsService

Metrics service resolved via ctx.services.get<IMetricsService>('metrics').

I
ISummary

Summary: per-quantile observations plus sum and count.

I
MetricConfig

Configuration for registering a metric.

I
MetricOptions

Ergonomic options for the typed factory methods. type is injected by the method name; help defaults to the metric name.

I
MetricsPluginOptions

Plugin options for MetricsPlugin.

I
NamedMetricConfig

Named metric config for declarative registration.

Usage

import * as Prometheus_metrics_plugin_for_Setu_TS___This_plugin_provides_____MetricsPlugin____The_plugin_factory____MetricsService____The_metrics_service_for_recording_metrics___Counter__Gauge__Histogram__Summary___Metric_instrument_classes____IMetricsService____ICounter____IGauge____IHistogram____ISummary____Type_contracts_from_common_ from "metrics-plugin/src/index.ts";