summaryrefslogtreecommitdiff
path: root/lib/gitlab/metrics/transaction.rb
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2016-01-04 13:17:02 +0100
committerYorick Peterse <yorickpeterse@gmail.com>2016-01-04 13:17:02 +0100
commit2ee8f555996baca6b470d223ffad65419b730398 (patch)
treec43a546ecce40b06d5a6b3063f7119036324e3ab /lib/gitlab/metrics/transaction.rb
parent2ea464bb272fa52ff34a188a921f0bc90811ca45 (diff)
downloadgitlab-ce-2ee8f555996baca6b470d223ffad65419b730398.tar.gz
Automatically prefix transaction series names
This ensures Rails and Sidekiq transactions are split into the series "rails_transactions" and "sidekiq_transactions" respectively.
Diffstat (limited to 'lib/gitlab/metrics/transaction.rb')
-rw-r--r--lib/gitlab/metrics/transaction.rb15
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/gitlab/metrics/transaction.rb b/lib/gitlab/metrics/transaction.rb
index 0aaebf262d4..68b86de0655 100644
--- a/lib/gitlab/metrics/transaction.rb
+++ b/lib/gitlab/metrics/transaction.rb
@@ -10,9 +10,7 @@ module Gitlab
Thread.current[THREAD_KEY]
end
- # name - The name of this transaction as a String.
- def initialize(series)
- @series = series
+ def initialize
@metrics = []
@uuid = SecureRandom.uuid
@@ -40,9 +38,10 @@ module Gitlab
end
def add_metric(series, values, tags = {})
- tags = tags.merge(transaction_id: @uuid)
+ tags = tags.merge(transaction_id: @uuid)
+ prefix = sidekiq? ? 'sidekiq_' : 'rails_'
- @metrics << Metric.new(series, values, tags)
+ @metrics << Metric.new("#{prefix}#{series}", values, tags)
end
def increment(name, value)
@@ -65,12 +64,16 @@ module Gitlab
values[name] = value
end
- add_metric(@series, values, @tags)
+ add_metric('transactions', values, @tags)
end
def submit
Metrics.submit_metrics(@metrics.map(&:to_hash))
end
+
+ def sidekiq?
+ Sidekiq.server?
+ end
end
end
end