5e4a6c5635
* fix(server/prometheus): ensure consistent Prometheus registry is used - there was a conflicting dependency between Metrics initialization and Modules initialization; resolved by separating registry initialization from metrics initialization - pass in the registry to prevent implicit dependency being broken - when registering a metric, first attempt to remove any of existing metrics with same name to prevent errors - to prevent sneaky uses of the implicit registry, replace default import with explicit import so it is clearer when prometheusClient.registry is used * Add tests for registering metrics
19 lines
470 B
JavaScript
Executable File
19 lines
470 B
JavaScript
Executable File
#!/usr/bin/env node
|
|
'use strict'
|
|
|
|
const { logger } = require('../dist/observability/logging')
|
|
const { init, startHttp } = require('../dist/app')
|
|
|
|
init()
|
|
.then(({ app, graphqlServer, registers, server, readinessCheck }) =>
|
|
startHttp({ app, graphqlServer, registers, server, readinessCheck })
|
|
)
|
|
.catch((err) => {
|
|
logger.error(err, 'Failed to start server. Exiting with non-zero exit code...')
|
|
|
|
// kill it with fire 🔥
|
|
process.exit(1)
|
|
})
|
|
|
|
// 💥
|