diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-07-16 14:40:55 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-07-16 14:40:55 +0300 |
commit | dce9599ef53dcdeb035b339510b759d71ad10f1e (patch) | |
tree | 808bfdc78408b76db9b1349354626718766d8af5 /lib/gitlab/email | |
parent | 51b81d7feb08183bedcb17f973c257ab11da09a5 (diff) |
Implement action mailer delivery metrics observer
Diffstat (limited to 'lib/gitlab/email')
-rw-r--r-- | lib/gitlab/email/hook/delivery_metrics_observer.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/gitlab/email/hook/delivery_metrics_observer.rb b/lib/gitlab/email/hook/delivery_metrics_observer.rb new file mode 100644 index 00000000000..1c2985f6045 --- /dev/null +++ b/lib/gitlab/email/hook/delivery_metrics_observer.rb @@ -0,0 +1,31 @@ +module Gitlab + module Email + module Hook + class DeliveryMetricsObserver + extend Gitlab::Utils::StrongMemoize + + def self.delivering_email(_message) + delivery_attempts_counter.increment + end + + def self.delivered_email(_message) + delivered_emails_counter.increment + end + + def self.delivery_attempts_counter + strong_memoize(:delivery_attempts_counter) do + Gitlab::Metrics.counter(:gitlab_emails_delivery_attempts_total, + 'Counter of total emails delivery attempts') + end + end + + def self.delivered_emails_counter + strong_memoize(:delivered_emails_counter) do + Gitlab::Metrics.counter(:gitlab_emails_delivered_total, + 'Counter of total emails delievered') + end + end + end + end + end +end |