From d40303d36988b1fde2ffa16b967d5b4040c324e3 Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Wed, 23 Nov 2022 11:05:45 +0300 Subject: [PATCH] fix: exclude healthcheck from response-time metric --- src/main/js/firewall/middleware.js | 5 +++-- src/main/js/mwares/trace.js | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/js/firewall/middleware.js b/src/main/js/firewall/middleware.js index eed4b80..0e8396b 100644 --- a/src/main/js/firewall/middleware.js +++ b/src/main/js/firewall/middleware.js @@ -32,10 +32,10 @@ const warmupDepPackuments = (name, deps, boundContext, rules) => { try { warmupPipeline(pipeline, {name, registry, org}) - const {deps: _deps} = await getPackument({ boundContext: {cache, registry, authorization, entrypoint, name, org, pipeline}, rules }) + const {deps: _deps} = await getPackument({ boundContext: {registry, authorization, entrypoint, name, org, pipeline}, rules }) warmupDepPackuments(name, _deps, boundContext, rules) } catch (e) { - logger.warn('warmup error', e) + logger.warn('warmup error', e.message, e.stack) } }) } @@ -48,6 +48,7 @@ const getAuth = (token, auth) => token export const firewall = ({registry, rules, entrypoint: _entrypoint, token}) => async (req, res, next) => { const {routeParams: {name, version, org}, base, method} = req + req.timed = true if (method !== 'GET' && method !== 'HEAD') { return next(httpError(METHOD_NOT_ALLOWED)) diff --git a/src/main/js/mwares/trace.js b/src/main/js/mwares/trace.js index 7af1af7..b32a080 100644 --- a/src/main/js/mwares/trace.js +++ b/src/main/js/mwares/trace.js @@ -23,7 +23,9 @@ export const trace = async (req, res, next) => { const isErr = statusCode < 200 || (statusCode >= 400 && statusCode !== 404) const delay = Date.now() - startedAt - pushMetric('response-time', delay) + if (req.timed) { + pushMetric('response-time', delay) + } logger[isErr ? 'error' : 'info']('HTTP', statusCode, `${delay}ms`, req.method, req.url) return end.call(this, ...args)