diff --git a/gateway/src/apicast/backend_client.lua b/gateway/src/apicast/backend_client.lua index 84ff89569..277aa8be1 100644 --- a/gateway/src/apicast/backend_client.lua +++ b/gateway/src/apicast/backend_client.lua @@ -20,6 +20,7 @@ local http_ng = require('resty.http_ng') local user_agent = require('apicast.user_agent') local resty_url = require('resty.url') local resty_env = require('resty.env') +local threescale_backend_status_counters = require('apicast.metrics.3scale_backend_status') local http_proxy = require('resty.http.proxy') local http_ng_ngx = require('resty.http_ng.backend.ngx') @@ -97,6 +98,10 @@ function _M:new(service, http_client) }, mt) end +local function inc_backend_status_metric(status) + threescale_backend_status_counters.inc(status) +end + local function build_args(args) local query = {} @@ -133,6 +138,8 @@ local function call_backend_transaction(self, path, options, ...) ngx.log(ngx.INFO, 'backend client uri: ', url, ' ok: ', res.ok, ' status: ', res.status, ' body: ', res.body, ' error: ', res.error) + inc_backend_status_metric(res.status) + return res end @@ -229,6 +236,8 @@ function _M:report(reports_batch) local report_body = format_transactions(reports_batch) local res = http_client.post(report_uri, report_body) + inc_backend_status_metric(res.status) + return res end