re init metrics after clearing

This commit is contained in:
Pas 2025-12-14 21:12:54 -07:00
parent 9e79b3fd15
commit 9120767784
3 changed files with 42 additions and 6 deletions

View file

@ -1,13 +1,25 @@
import { getRegistry } from '../../utils/metrics';
import { getRegistry, initializeAllMetrics } from '../../utils/metrics';
import { scopedLogger } from '../../utils/logger';
const log = scopedLogger('metrics-daily-endpoint');
let isInitialized = false;
async function ensureMetricsInitialized() {
if (!isInitialized) {
log.info('Initializing metrics from daily endpoint...', { evt: 'init_start' });
await initializeAllMetrics();
isInitialized = true;
log.info('Metrics initialized from daily endpoint', { evt: 'init_complete' });
}
}
export default defineEventHandler(async event => {
try {
await ensureMetricsInitialized();
// Get the daily registry
const dailyRegistry = getRegistry('daily');
const metrics = await dailyRegistry.metrics();
event.node.res.setHeader('Content-Type', dailyRegistry.contentType);
return metrics;

View file

@ -1,13 +1,25 @@
import { getRegistry } from '../../utils/metrics';
import { getRegistry, initializeAllMetrics } from '../../utils/metrics';
import { scopedLogger } from '../../utils/logger';
const log = scopedLogger('metrics-monthly-endpoint');
let isInitialized = false;
async function ensureMetricsInitialized() {
if (!isInitialized) {
log.info('Initializing metrics from monthly endpoint...', { evt: 'init_start' });
await initializeAllMetrics();
isInitialized = true;
log.info('Metrics initialized from monthly endpoint', { evt: 'init_complete' });
}
}
export default defineEventHandler(async event => {
try {
await ensureMetricsInitialized();
// Get the monthly registry
const monthlyRegistry = getRegistry('monthly');
const metrics = await monthlyRegistry.metrics();
event.node.res.setHeader('Content-Type', monthlyRegistry.contentType);
return metrics;

View file

@ -1,13 +1,25 @@
import { getRegistry } from '../../utils/metrics';
import { getRegistry, initializeAllMetrics } from '../../utils/metrics';
import { scopedLogger } from '../../utils/logger';
const log = scopedLogger('metrics-weekly-endpoint');
let isInitialized = false;
async function ensureMetricsInitialized() {
if (!isInitialized) {
log.info('Initializing metrics from weekly endpoint...', { evt: 'init_start' });
await initializeAllMetrics();
isInitialized = true;
log.info('Metrics initialized from weekly endpoint', { evt: 'init_complete' });
}
}
export default defineEventHandler(async event => {
try {
await ensureMetricsInitialized();
// Get the weekly registry
const weeklyRegistry = getRegistry('weekly');
const metrics = await weeklyRegistry.metrics();
event.node.res.setHeader('Content-Type', weeklyRegistry.contentType);
return metrics;