From d69195eaa9f27e320d69a84b4867973b866fb32d Mon Sep 17 00:00:00 2001 From: Eric Mc Sween Date: Fri, 3 Jul 2020 16:38:29 -0400 Subject: [PATCH] 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()