dependencies Legend  Declarations  Module  Bootstrap  Providers  Exports cluster_MetricsModule cluster_MetricsModule_exports cluster_MetricsModule_providers MetricsService MetricsService MetricsModule MetricsModule MetricsModule->MetricsService MetricsService MetricsService MetricsService->MetricsModule

File

tbl/src/common/metrics.module.ts

Providers

Exports

import { Module, Global } from '@nestjs/common';
import {
  PrometheusModule,
  makeCounterProvider,
  makeGaugeProvider,
} from '@willsoto/nestjs-prometheus';
import { MetricsService } from './metrics.service';

@Global()
@Module({
  imports: [
    PrometheusModule.register({
      path: '/tbl-custom-metrics',
      defaultMetrics: {
        enabled: false,
      },
      defaultLabels: {
        application: 'tbl-service',
      },
    }),
  ],
  providers: [
    MetricsService,
    makeCounterProvider({
      name: 'tbl_games_total',
      help: 'Total number of games',
      labelNames: ['instance'],
    }),
    makeGaugeProvider({
      name: 'tbl_games_active',
      help: 'Number of active games',
      labelNames: ['instance'],
    }),
    makeCounterProvider({
      name: 'live_games_created_total',
      help: 'Total number of live games created',
      labelNames: ['instance'],
    }),
    makeCounterProvider({
      name: 'live_games_started_total',
      help: 'Total number of live games started',
      labelNames: ['instance'],
    }),
    makeCounterProvider({
      name: 'live_games_finished_total',
      help: 'Total number of live games finished',
      labelNames: ['instance'],
    }),
  ],
  exports: [MetricsService],
})
export class MetricsModule {}

results matching ""

    No results matching ""