diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2016-04-12 12:00:21 +0200 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-04-13 11:22:37 +0200 |
commit | 3240ecfbefc7ae5994be6ef01b52c1cbdaa09057 (patch) | |
tree | 9689a2b2aa878947478681182030f0a29cc16dd9 /spec | |
parent | 8ea6c6d80c0942e0f2caee3caa0cd7503e51d45d (diff) | |
download | gitlab-ce-3240ecfbefc7ae5994be6ef01b52c1cbdaa09057.tar.gz |
Added ability to add custom tags to transactions
One use case for this is manually setting the "action" tag for Grape API
calls. Due to Grape running blocks there are no human readable method
names that can be used for the "action" tag, thus we have to set these
manually on a case by case basis.
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/gitlab/metrics_spec.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/lib/gitlab/metrics_spec.rb b/spec/lib/gitlab/metrics_spec.rb index 3dee13e27f4..10177c0e8dd 100644 --- a/spec/lib/gitlab/metrics_spec.rb +++ b/spec/lib/gitlab/metrics_spec.rb @@ -98,4 +98,29 @@ describe Gitlab::Metrics do end end end + + describe '.tag_transaction' do + context 'without a transaction' do + it 'does nothing' do + expect_any_instance_of(Gitlab::Metrics::Transaction). + not_to receive(:add_tag) + + Gitlab::Metrics.tag_transaction(:foo, 'bar') + end + end + + context 'with a transaction' do + let(:transaction) { Gitlab::Metrics::Transaction.new } + + it 'adds the tag to the transaction' do + expect(Gitlab::Metrics).to receive(:current_transaction). + and_return(transaction) + + expect(transaction).to receive(:add_tag). + with(:foo, 'bar') + + Gitlab::Metrics.tag_transaction(:foo, 'bar') + end + end + end end |