diff --git a/src/controllers/metrics.ts b/src/controllers/metrics.ts index 567a3170..e85294c0 100644 --- a/src/controllers/metrics.ts +++ b/src/controllers/metrics.ts @@ -2,11 +2,12 @@ import { register } from 'prom-client'; import { AppController } from '@/app.ts'; import { DittoDB } from '@/db/DittoDB.ts'; -import { dbAvailableConnectionsGauge } from '@/metrics.ts'; +import { dbAvailableConnectionsGauge, dbPoolSizeGauge } from '@/metrics.ts'; /** Prometheus/OpenMetrics controller. */ export const metricsController: AppController = async (c) => { // Update some metrics at request time. + dbPoolSizeGauge.set(DittoDB.poolSize); dbAvailableConnectionsGauge.set(DittoDB.availableConnections); const metrics = await register.metrics(); diff --git a/src/metrics.ts b/src/metrics.ts index ee73d083..ac1db2ee 100644 --- a/src/metrics.ts +++ b/src/metrics.ts @@ -70,6 +70,11 @@ export const dbEventsCounter = new Counter({ labelNames: ['kind'], }); +export const dbPoolSizeGauge = new Gauge({ + name: 'ditto_db_pool_size', + help: 'Number of connections in the database pool', +}); + export const dbAvailableConnectionsGauge = new Gauge({ name: 'ditto_db_available_connections', help: 'Number of available connections in the database pool',