From d69195eaa9f27e320d69a84b4867973b866fb32d Mon Sep 17 00:00:00 2001 From: Eric Mc Sween Date: Fri, 3 Jul 2020 16:38:29 -0400 Subject: [PATCH 1/2] Log requests that don't have a route property The v1 history service has its routes set up via swagger-tools, which doesn't write a route property on the request. This prevents us to send request metrics based on the route, but we can still log the request. --- libraries/metrics/http.coffee | 64 +++++++++++++++++------------------ 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/libraries/metrics/http.coffee b/libraries/metrics/http.coffee index 0d32dd59ab..fdfd492fc4 100644 --- a/libraries/metrics/http.coffee +++ b/libraries/metrics/http.coffee @@ -18,36 +18,36 @@ module.exports.monitor = (logger) -> 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 - reqUrl = req.originalUrl || req.url - referrer = req.headers['referer'] || req.headers['referrer'] - if STACKDRIVER_LOGGING - info = - httpRequest: - requestMethod: req.method - requestUrl: reqUrl - requestSize: requestSize - status: res.statusCode - responseSize: res._headers?["content-length"] - userAgent: req.headers["user-agent"] - remoteIp: remoteIp - referer: referrer - latency: - seconds: responseTime[0] - nanos: responseTime[1] - protocol: req.protocol - else - info = - req: - url: reqUrl - method: req.method - referrer: referrer - "remote-addr": remoteIp - "user-agent": req.headers["user-agent"] - "content-length": req.headers["content-length"] - res: - "content-length": res._headers?["content-length"] - statusCode: res.statusCode - "response-time": responseTimeMs - logger.info(info, "%s %s", req.method, reqUrl) + remoteIp = req.ip || req.socket?.socket?.remoteAddress || req.socket?.remoteAddress + reqUrl = req.originalUrl || req.url + referrer = req.headers['referer'] || req.headers['referrer'] + if STACKDRIVER_LOGGING + info = + httpRequest: + requestMethod: req.method + requestUrl: reqUrl + requestSize: requestSize + status: res.statusCode + responseSize: res._headers?["content-length"] + userAgent: req.headers["user-agent"] + remoteIp: remoteIp + referer: referrer + latency: + seconds: responseTime[0] + nanos: responseTime[1] + protocol: req.protocol + else + info = + req: + url: reqUrl + method: req.method + referrer: referrer + "remote-addr": remoteIp + "user-agent": req.headers["user-agent"] + "content-length": req.headers["content-length"] + res: + "content-length": res._headers?["content-length"] + statusCode: res.statusCode + "response-time": responseTimeMs + logger.info(info, "%s %s", req.method, reqUrl) next() From e197e4dc111845d6715f832fd560a262b53c6195 Mon Sep 17 00:00:00 2001 From: Eric Mc Sween Date: Mon, 6 Jul 2020 08:20:02 -0400 Subject: [PATCH 2/2] 2.7.0 --- libraries/metrics/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/metrics/package.json b/libraries/metrics/package.json index 94899978f0..10dc25fe35 100644 --- a/libraries/metrics/package.json +++ b/libraries/metrics/package.json @@ -1,6 +1,6 @@ { "name": "metrics-sharelatex", - "version": "2.6.2", + "version": "2.7.0", "description": "A drop-in metrics and monitoring module for node.js apps", "repository": { "type": "git",