// ABOUTME: Prometheus metrics endpoint utilities
// ABOUTME: Provides functions to retrieve and format metrics for /metrics endpoint

import { register } from 'prom-client';
import logger from '../utils/logger';

/**
 * Get metrics in Prometheus format
 */
export async function getMetrics(): Promise<string> {
  try {
    return await register.metrics();
  } catch (error) {
    logger.error({ error }, 'Failed to generate metrics');
    throw error;
  }
}

/**
 * Get metrics content type
 */
export function getMetricsContentType(): string {
  return register.contentType;
}

/**
 * Clear all metrics (useful for testing)
 */
export function clearMetrics(): void {
  register.clear();
}
