import { Injectable } from '@nestjs/common';
import { InjectMetric } from '@willsoto/nestjs-prometheus';
import { Counter, Histogram, Gauge } from 'prom-client';

@Injectable()
export class MetricsService {
    constructor(
        @InjectMetric('http_requests_total')
        public readonly requestCounter: Counter<string>,

        @InjectMetric('http_request_duration_seconds')
        public readonly requestDuration: Histogram<string>,

        @InjectMetric('http_active_requests')
        public readonly activeRequests: Gauge<string>,
    ) { }
}
