|
@@ -12,9 +12,12 @@ module.exports.monitor = (logger) ->
|
|
|
end.apply(this, arguments)
|
|
end.apply(this, arguments)
|
|
|
responseTime = process.hrtime(startTime)
|
|
responseTime = process.hrtime(startTime)
|
|
|
responseTimeMs = Math.round(responseTime[0] * 1000 + responseTime[1] / 1000)
|
|
responseTimeMs = Math.round(responseTime[0] * 1000 + responseTime[1] / 1000)
|
|
|
|
|
+ requestSize = parseInt(req.headers["content-length"], 10)
|
|
|
if req.route?.path?
|
|
if req.route?.path?
|
|
|
routePath = req.route.path.toString().replace(/\//g, '_').replace(/\:/g, '').slice(1)
|
|
routePath = req.route.path.toString().replace(/\//g, '_').replace(/\:/g, '').slice(1)
|
|
|
Metrics.timing("http_request", responseTimeMs, null, {method:req.method, status_code: res.statusCode, path:routePath})
|
|
Metrics.timing("http_request", responseTimeMs, null, {method:req.method, status_code: res.statusCode, path:routePath})
|
|
|
|
|
+ if requestSize
|
|
|
|
|
+ Metrics.summary("http_request_size_bytes", requestSize, {method:req.method, status_code: res.statusCode, path:routePath})
|
|
|
remoteIp = req.ip || req.socket?.socket?.remoteAddress || req.socket?.remoteAddress
|
|
remoteIp = req.ip || req.socket?.socket?.remoteAddress || req.socket?.remoteAddress
|
|
|
reqUrl = req.originalUrl || req.url
|
|
reqUrl = req.originalUrl || req.url
|
|
|
referrer = req.headers['referer'] || req.headers['referrer']
|
|
referrer = req.headers['referer'] || req.headers['referrer']
|
|
@@ -23,7 +26,7 @@ module.exports.monitor = (logger) ->
|
|
|
httpRequest:
|
|
httpRequest:
|
|
|
requestMethod: req.method
|
|
requestMethod: req.method
|
|
|
requestUrl: reqUrl
|
|
requestUrl: reqUrl
|
|
|
- requestSize: req.headers["content-length"]
|
|
|
|
|
|
|
+ requestSize: requestSize
|
|
|
status: res.statusCode
|
|
status: res.statusCode
|
|
|
responseSize: res._headers?["content-length"]
|
|
responseSize: res._headers?["content-length"]
|
|
|
userAgent: req.headers["user-agent"]
|
|
userAgent: req.headers["user-agent"]
|