mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
Add a separate configure() method
configure() sets options in the metrics module, but does not start the default metrics collectors and the profiling agents.
This commit is contained in:
parent
3c9c17c22f
commit
c05bd83e24
1 changed files with 19 additions and 5 deletions
|
@ -10,12 +10,25 @@ const destructors = []
|
||||||
|
|
||||||
require('./uv_threadpool_size')
|
require('./uv_threadpool_size')
|
||||||
|
|
||||||
function initialize(_name, opts = {}) {
|
/**
|
||||||
appname = _name
|
* Configure the metrics module
|
||||||
collectDefaultMetrics({ timeout: 5000, prefix: buildPromKey() })
|
*/
|
||||||
|
function configure(opts = {}) {
|
||||||
|
if (opts.appName) {
|
||||||
|
appname = opts.appName
|
||||||
|
}
|
||||||
if (opts.ttlInMinutes) {
|
if (opts.ttlInMinutes) {
|
||||||
prom.ttlInMinutes = opts.ttlInMinutes
|
prom.ttlInMinutes = opts.ttlInMinutes
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configure the metrics module and start the default metrics collectors and
|
||||||
|
* profiling agents.
|
||||||
|
*/
|
||||||
|
function initialize(_name, opts = {}) {
|
||||||
|
configure({ ...opts, appName: _name })
|
||||||
|
collectDefaultMetrics({ timeout: 5000, prefix: buildPromKey() })
|
||||||
|
|
||||||
console.log(`ENABLE_TRACE_AGENT set to ${process.env.ENABLE_TRACE_AGENT}`)
|
console.log(`ENABLE_TRACE_AGENT set to ${process.env.ENABLE_TRACE_AGENT}`)
|
||||||
if (process.env.ENABLE_TRACE_AGENT === 'true') {
|
if (process.env.ENABLE_TRACE_AGENT === 'true') {
|
||||||
|
@ -71,7 +84,7 @@ function injectMetricsRoute(app) {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
function buildPromKey(key = '') {
|
function buildPromKey(key) {
|
||||||
return key.replace(/[^a-zA-Z0-9]/g, '_')
|
return key.replace(/[^a-zA-Z0-9]/g, '_')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,7 +126,7 @@ function summary(key, value, opts = {}) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function timing(key, timeSpan, sampleRate, opts = {}) {
|
function timing(key, timeSpan, sampleRate = 1, opts = {}) {
|
||||||
key = buildPromKey('timer_' + key)
|
key = buildPromKey('timer_' + key)
|
||||||
opts.app = appname
|
opts.app = appname
|
||||||
opts.host = hostname
|
opts.host = hostname
|
||||||
|
@ -168,6 +181,7 @@ function close() {
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
configure,
|
||||||
initialize,
|
initialize,
|
||||||
registerDestructor,
|
registerDestructor,
|
||||||
injectMetricsRoute,
|
injectMetricsRoute,
|
||||||
|
|
Loading…
Reference in a new issue