Add prometheus exporter for provider metrics

This commit is contained in:
William Oldham
2023-11-04 14:01:10 +00:00
parent 19ea5a3e5a
commit 616778ab6d
2 changed files with 41 additions and 0 deletions

View File

@@ -9,6 +9,15 @@ const log = scopedLogger('metrics');
export type Metrics = {
user: Counter<'namespace'>;
providerMetrics: Counter<
| 'title'
| 'tmdb_id'
| 'season_id'
| 'episode_id'
| 'status'
| 'type'
| 'provider_id'
>;
};
let metrics: null | Metrics = null;
@@ -29,8 +38,26 @@ export async function setupMetrics(app: FastifyInstance) {
help: 'user_help',
labelNames: ['namespace'],
}),
providerMetrics: new Counter({
name: 'provider_metrics',
help: 'provider_metrics',
labelNames: [
'episode_id',
'provider_id',
'season_id',
'status',
'title',
'tmdb_id',
'type',
],
}),
};
const promClient = app.metrics.client;
promClient.register.registerMetric(metrics.user);
promClient.register.registerMetric(metrics.providerMetrics);
const orm = getORM();
const em = orm.em.fork();
log.info(`Syncing up metrics...`, { evt: 'sync' });