diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-17 18:10:15 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-17 18:10:15 +0300 |
commit | 68c476dbd8a2c670aeeebffce8b63b554a3ac7f0 (patch) | |
tree | c46b90a5c131d8e8d7fb530f1b8f9390b8eb2613 /app/services/spam | |
parent | a62238de7302e54edafa3407a2dc8ba1a5f96e4d (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services/spam')
-rw-r--r-- | app/services/spam/spam_verdict_service.rb | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/app/services/spam/spam_verdict_service.rb b/app/services/spam/spam_verdict_service.rb index 32e58fcc06b..7155017b73f 100644 --- a/app/services/spam/spam_verdict_service.rb +++ b/app/services/spam/spam_verdict_service.rb @@ -16,12 +16,17 @@ module Spam def execute spamcheck_result = nil spamcheck_attribs = {} + spamcheck_error = false external_spam_check_round_trip_time = Benchmark.realtime do - spamcheck_result, spamcheck_attribs = spamcheck_verdict + spamcheck_result, spamcheck_attribs, spamcheck_error = spamcheck_verdict end - # assign result to a var and log it before reassigning to nil when monitorMode is true + label = spamcheck_error ? 'ERROR' : spamcheck_result.to_s.upcase + + histogram.observe( { result: label }, external_spam_check_round_trip_time ) + + # assign result to a var for logging it before reassigning to nil when monitorMode is true original_spamcheck_result = spamcheck_result spamcheck_result = nil if spamcheck_attribs&.fetch("monitorMode", "false") == "true" @@ -83,8 +88,9 @@ module Spam end rescue StandardError => e Gitlab::ErrorTracking.log_exception(e) + # Default to ALLOW if any errors occur - [ALLOW, attribs] + [ALLOW, attribs, true] end end @@ -95,5 +101,9 @@ module Spam def logger @logger ||= Gitlab::AppJsonLogger.build end + + def histogram + @histogram ||= Gitlab::Metrics.histogram(:gitlab_spamcheck_request_duration_seconds, 'Request duration to the anti-spam service') + end end end |