diff options
Diffstat (limited to 'lib/gitlab/metrics/requests_rack_middleware.rb')
-rw-r--r-- | lib/gitlab/metrics/requests_rack_middleware.rb | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/gitlab/metrics/requests_rack_middleware.rb b/lib/gitlab/metrics/requests_rack_middleware.rb index d26361ca12f..0172de8731d 100644 --- a/lib/gitlab/metrics/requests_rack_middleware.rb +++ b/lib/gitlab/metrics/requests_rack_middleware.rb @@ -77,13 +77,14 @@ module Gitlab status, headers, body = @app.call(env) return [status, headers, body] if health_endpoint + urgency = urgency_for_env(env) if ::Gitlab::Metrics.record_duration_for_status?(status) elapsed = ::Gitlab::Metrics::System.monotonic_time - started self.class.http_request_duration_seconds.observe({ method: method }, elapsed) - record_apdex(env, elapsed) + record_apdex(urgency, elapsed) end - record_error(env, status) + record_error(urgency, status) [status, headers, body] rescue StandardError @@ -116,20 +117,18 @@ module Gitlab ::Gitlab::ApplicationContext.current_context_attribute(:caller_id) end - def record_apdex(env, elapsed) - urgency = urgency_for_env(env) - + def record_apdex(urgency, elapsed) Gitlab::Metrics::RailsSlis.request_apdex.increment( labels: labels_from_context.merge(request_urgency: urgency.name), success: elapsed < urgency.duration ) end - def record_error(env, status) + def record_error(urgency, status) return unless Feature.enabled?(:gitlab_metrics_error_rate_sli, type: :development) Gitlab::Metrics::RailsSlis.request_error_rate.increment( - labels: labels_from_context, + labels: labels_from_context.merge(request_urgency: urgency.name), error: ::Gitlab::Metrics.server_error?(status) ) end |