All files / libs/observability/src/metrics metrics.controller.ts

100% Statements 9/9
100% Branches 4/4
100% Functions 2/2
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1618x     18x     18x 1x     18x 1x 1x      
import { Controller, Get, Inject, Res } from '@nestjs/common';
import type { Response } from 'express';
import type { Registry } from 'prom-client';
import { METRICS_REGISTRY } from './metrics.tokens';
 
@Controller('metrics')
export class MetricsController {
  constructor(@Inject(METRICS_REGISTRY) private readonly registry: Registry) {}
 
  @Get()
  async metrics(@Res() res: Response): Promise<void> {
    res.setHeader('content-type', this.registry.contentType);
    res.send(await this.registry.metrics());
  }
}