1
0
Fork 0
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:
Henry Oswald 2014-04-29 15:20:31 +01:00
parent 2cdadf1a4b
commit 0b93a719f0
2 changed files with 13 additions and 1 deletions
services/web/app/coffee/infrastructure

View file

@ -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()

View file

@ -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()