Merge branch 'fix-grape-internal-allowed-action' into 'master'
Fix setting of "action" for Grape transactions After wondering why we're not getting all the data in Grafana that I wanted I realized I wasn't setting the "action" field properly here. See merge request !3842
This commit is contained in:
commit
7e6d59067e
|
@ -23,7 +23,7 @@ module API
|
|||
end
|
||||
|
||||
post "/allowed" do
|
||||
Gitlab::Metrics.tag_transaction('action', 'Grape#/internal/allowed')
|
||||
Gitlab::Metrics.action = 'Grape#/internal/allowed'
|
||||
|
||||
status 200
|
||||
|
||||
|
|
|
@ -115,6 +115,15 @@ module Gitlab
|
|||
trans.add_tag(name, value) if trans
|
||||
end
|
||||
|
||||
# Sets the action of the current transaction (if any)
|
||||
#
|
||||
# action - The name of the action.
|
||||
def self.action=(action)
|
||||
trans = current_transaction
|
||||
|
||||
trans.action = action if trans
|
||||
end
|
||||
|
||||
# When enabled this should be set before being used as the usual pattern
|
||||
# "@foo ||= bar" is _not_ thread-safe.
|
||||
if enabled?
|
||||
|
|
|
@ -123,4 +123,28 @@ describe Gitlab::Metrics do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '.action=' do
|
||||
context 'without a transaction' do
|
||||
it 'does nothing' do
|
||||
expect_any_instance_of(Gitlab::Metrics::Transaction).
|
||||
not_to receive(:action=)
|
||||
|
||||
Gitlab::Metrics.action = 'foo'
|
||||
end
|
||||
end
|
||||
|
||||
context 'with a transaction' do
|
||||
it 'sets the action of a transaction' do
|
||||
trans = Gitlab::Metrics::Transaction.new
|
||||
|
||||
expect(Gitlab::Metrics).to receive(:current_transaction).
|
||||
and_return(trans)
|
||||
|
||||
expect(trans).to receive(:action=).with('foo')
|
||||
|
||||
Gitlab::Metrics.action = 'foo'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue