mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-08 01:03:22 +00:00
added statsd metrics timing for each request
This commit is contained in:
parent
2cdadf1a4b
commit
0b93a719f0
2 changed files with 13 additions and 1 deletions
services/web/app/coffee/infrastructure
|
@ -11,6 +11,9 @@ module.exports =
|
|||
inc : (key, sampleRate = 1)->
|
||||
statsd.increment buildKey(key), sampleRate
|
||||
|
||||
timing: (key, timeSpan, sampleRate)->
|
||||
statsd.timing(key, timeSpan, sampleRate)
|
||||
|
||||
Timer : class
|
||||
constructor :(key, sampleRate = 1)->
|
||||
this.start = new Date()
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
settings = require("settings-sharelatex")
|
||||
logger = require "logger-sharelatex"
|
||||
os = require("os")
|
||||
metrics = require("../Metrics")
|
||||
|
||||
module.exports.logger = (req, res, next) ->
|
||||
startTime = new Date()
|
||||
end = res.end
|
||||
res.end = () ->
|
||||
end.apply(this, arguments)
|
||||
responseTime = new Date() - startTime
|
||||
routePath = req.route.path.replace(/\//g, '-').slice(1)
|
||||
|
||||
processName = if settings.internal.web.name? then "web-#{settings.internal.web.name}" else "web"
|
||||
key = "#{os.hostname()}.#{processName}.#{routePath}".toLowerCase().trim()
|
||||
metrics.timing(key, responseTime, 0.2)
|
||||
logger.log
|
||||
req:
|
||||
url: req.originalUrl || req.url
|
||||
|
@ -15,7 +24,7 @@ module.exports.logger = (req, res, next) ->
|
|||
"content-length": req.headers["content-length"]
|
||||
res:
|
||||
"content-length": res._headers?["content-length"]
|
||||
"response-time": new Date() - startTime
|
||||
"response-time": responseTime
|
||||
"http request"
|
||||
next()
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue