mirror of
https://github.com/status-im/codimd.git
synced 2025-02-27 20:10:35 +00:00
Fix session flood issue after prometheus metrics are implemented.
Root cause: - prometheus metrics '/metrics/codimd' exported by 3ca0341 are still in 'routes need sessions' section. - prometheus scrapes metrics repeatedly. - new session created every time while prometheus scrapes metrics '/metrics/codimd'. Solution: - move /metrics/codimd from lib/routes.js to lib/metrics.js. - move /metrics/codimd from section 'routes need sessions' of app.js to 'routes without sessions'. Signed-off-by: tarlety <tarlety@gmail.com>
This commit is contained in:
parent
6c4fd144f5
commit
ac31e51d67
1
app.js
1
app.js
@ -138,6 +138,7 @@ app.use('/', express.static(path.join(__dirname, '/public'), { maxAge: config.st
|
||||
app.use('/docs', express.static(path.resolve(__dirname, config.docsPath), { maxAge: config.staticCacheTime }))
|
||||
app.use('/uploads', express.static(path.resolve(__dirname, config.uploadsPath), { maxAge: config.staticCacheTime }))
|
||||
app.use('/default.md', express.static(path.resolve(__dirname, config.defaultNotePath), { maxAge: config.staticCacheTime }))
|
||||
app.use(require('./lib/metrics').router)
|
||||
|
||||
// session
|
||||
app.use(session({
|
||||
|
15
lib/metrics.js
Normal file
15
lib/metrics.js
Normal file
@ -0,0 +1,15 @@
|
||||
'use strict'
|
||||
|
||||
const { Router } = require('express')
|
||||
|
||||
const { wrap } = require('./utils')
|
||||
|
||||
// load controller
|
||||
const statusController = require('./status')
|
||||
const appRouter = Router()
|
||||
|
||||
// register route
|
||||
appRouter.get('/status', wrap(statusController.getStatus))
|
||||
appRouter.get('/metrics/codimd', wrap(statusController.getMetrics))
|
||||
|
||||
exports.router = appRouter
|
@ -27,8 +27,6 @@ appRouter.get('/404', errorPageController.errorNotFound)
|
||||
// get 500 internal error
|
||||
appRouter.get('/500', errorPageController.errorInternalError)
|
||||
|
||||
appRouter.get('/status', wrap(statusController.getStatus))
|
||||
appRouter.get('/metrics/codimd', wrap(statusController.getMetrics))
|
||||
appRouter.get('/config', statusController.getConfig)
|
||||
|
||||
// register auth module
|
||||
|
Loading…
x
Reference in New Issue
Block a user