Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-09-13 16:26:31 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-09-13 16:26:31 +0300
commitb7dfe2ae4054aa40e15182fd3c6cb7dd39f131db (patch)
tree5ab080ca9cadeb6cd9578bf301e4e9e8810bed9e /lib/gitlab/email
parent25cb337cf12438169f1b14bc5dace8a06a7356e3 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/email')
-rw-r--r--lib/gitlab/email/handler.rb2
-rw-r--r--lib/gitlab/email/handler/base_handler.rb8
-rw-r--r--lib/gitlab/email/handler/create_issue_handler.rb4
-rw-r--r--lib/gitlab/email/handler/create_merge_request_handler.rb4
-rw-r--r--lib/gitlab/email/handler/create_note_handler.rb4
-rw-r--r--lib/gitlab/email/handler/unsubscribe_handler.rb4
-rw-r--r--lib/gitlab/email/receiver.rb6
7 files changed, 29 insertions, 3 deletions
diff --git a/lib/gitlab/email/handler.rb b/lib/gitlab/email/handler.rb
index cebedb19dcc..e9a7c9bcf5c 100644
--- a/lib/gitlab/email/handler.rb
+++ b/lib/gitlab/email/handler.rb
@@ -3,6 +3,8 @@
module Gitlab
module Email
module Handler
+ prepend_if_ee('::EE::Gitlab::Email::Handler') # rubocop: disable Cop/InjectEnterpriseEditionModule
+
def self.handlers
@handlers ||= load_handlers
end
diff --git a/lib/gitlab/email/handler/base_handler.rb b/lib/gitlab/email/handler/base_handler.rb
index f89d1d15010..2e487c42cb5 100644
--- a/lib/gitlab/email/handler/base_handler.rb
+++ b/lib/gitlab/email/handler/base_handler.rb
@@ -24,6 +24,14 @@ module Gitlab
def metrics_params
{ handler: self.class.name }
end
+
+ # Each handler should use it's own metric event. Otherwise there
+ # is a possibility that within the same Sidekiq process, that same
+ # event with different metrics_params will cause Prometheus to
+ # throw an error
+ def metrics_event
+ raise NotImplementedError
+ end
end
end
end
diff --git a/lib/gitlab/email/handler/create_issue_handler.rb b/lib/gitlab/email/handler/create_issue_handler.rb
index 78a3a9489ac..22fc8addcd9 100644
--- a/lib/gitlab/email/handler/create_issue_handler.rb
+++ b/lib/gitlab/email/handler/create_issue_handler.rb
@@ -48,6 +48,10 @@ module Gitlab
end
# rubocop: enable CodeReuse/ActiveRecord
+ def metrics_event
+ :receive_email_create_issue
+ end
+
private
def create_issue
diff --git a/lib/gitlab/email/handler/create_merge_request_handler.rb b/lib/gitlab/email/handler/create_merge_request_handler.rb
index b3b5063f2ca..e8071bcafd0 100644
--- a/lib/gitlab/email/handler/create_merge_request_handler.rb
+++ b/lib/gitlab/email/handler/create_merge_request_handler.rb
@@ -54,6 +54,10 @@ module Gitlab
super.merge(includes_patches: patch_attachments.any?)
end
+ def metrics_event
+ :receive_email_create_merge_request
+ end
+
private
def build_merge_request
diff --git a/lib/gitlab/email/handler/create_note_handler.rb b/lib/gitlab/email/handler/create_note_handler.rb
index b00af15364d..28200643296 100644
--- a/lib/gitlab/email/handler/create_note_handler.rb
+++ b/lib/gitlab/email/handler/create_note_handler.rb
@@ -32,6 +32,10 @@ module Gitlab
record_name: 'comment')
end
+ def metrics_event
+ :receive_email_create_note
+ end
+
private
def author
diff --git a/lib/gitlab/email/handler/unsubscribe_handler.rb b/lib/gitlab/email/handler/unsubscribe_handler.rb
index 20e4c125626..528857aff14 100644
--- a/lib/gitlab/email/handler/unsubscribe_handler.rb
+++ b/lib/gitlab/email/handler/unsubscribe_handler.rb
@@ -36,6 +36,10 @@ module Gitlab
noteable.unsubscribe(sent_notification.recipient)
end
+ def metrics_event
+ :receive_email_unsubscribe
+ end
+
private
attr_reader :reply_token
diff --git a/lib/gitlab/email/receiver.rb b/lib/gitlab/email/receiver.rb
index d28f6b301fa..7da8b385266 100644
--- a/lib/gitlab/email/receiver.rb
+++ b/lib/gitlab/email/receiver.rb
@@ -39,9 +39,9 @@ module Gitlab
raise UnknownIncomingEmail unless handler
- Gitlab::Metrics.add_event(:receive_email, handler.metrics_params)
-
- handler.execute
+ handler.execute.tap do
+ Gitlab::Metrics.add_event(handler.metrics_event, handler.metrics_params)
+ end
end
private