All files / src metrics.ts

100% Statements 3/3
100% Branches 0/0
100% Functions 0/0
100% Lines 3/3

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 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 405x   5x   5x                                                                      
import { Counter, Gauge, Histogram, Registry } from 'prom-client';
 
export const register = new Registry();
 
export const metrics = {
  logsProcessed: new Counter({
    name: 'seraph_logs_processed_total',
    help: 'Total number of logs processed by the agent.',
    registers: [register],
  }),
  alertsTriggered: new Counter({
    name: 'seraph_alerts_triggered_total',
    help: 'Total number of alerts triggered by the agent.',
    labelNames: ['provider', 'model'],
    registers: [register],
  }),
  activeWorkers: new Gauge({
    name: 'seraph_active_workers',
    help: 'Number of active worker threads.',
    registers: [register],
  }),
  llmAnalysisLatency: new Histogram({
    name: 'seraph_llm_analysis_latency_seconds',
    help: 'Latency of LLM analysis requests in seconds.',
    labelNames: ['provider', 'model'],
    buckets: [0.1, 0.5, 1, 2, 5, 10], // Buckets in seconds
    registers: [register],
  }),
  analysisErrors: new Counter({
    name: 'seraph_analysis_errors_total',
    help: 'Total number of errors during log analysis.',
    registers: [register],
  }),
  logsSkipped: new Counter({
    name: 'seraph_logs_skipped_total',
    help: 'Total number of logs skipped due to pre-filtering.',
    registers: [register],
  }),
};