Stop tracking call stacks for instrumented views
Where a vew is called from doesn't matter as much. We already know what action they belong to and this is more than enough information. By removing the file/line number from the list of tags we should also be able to reduce the number of series stored in InfluxDB.
This commit is contained in:
parent
587f850170
commit
355c341fe7
4 changed files with 2 additions and 40 deletions
|
@ -36,20 +36,6 @@ module Gitlab
|
|||
@pool
|
||||
end
|
||||
|
||||
# Returns a relative path and line number based on the last application call
|
||||
# frame.
|
||||
def self.last_relative_application_frame
|
||||
frame = caller_locations.find do |l|
|
||||
l.path.start_with?(RAILS_ROOT) && !l.path.start_with?(METRICS_ROOT)
|
||||
end
|
||||
|
||||
if frame
|
||||
return frame.path.sub(PATH_REGEX, ''), frame.lineno
|
||||
else
|
||||
return nil, nil
|
||||
end
|
||||
end
|
||||
|
||||
def self.submit_metrics(metrics)
|
||||
prepared = prepare_metrics(metrics)
|
||||
|
||||
|
|
|
@ -33,16 +33,8 @@ module Gitlab
|
|||
|
||||
def tags_for(event)
|
||||
path = relative_path(event.payload[:identifier])
|
||||
tags = { view: path }
|
||||
|
||||
file, line = Metrics.last_relative_application_frame
|
||||
|
||||
if file and line
|
||||
tags[:file] = file
|
||||
tags[:line] = line
|
||||
end
|
||||
|
||||
tags
|
||||
{ view: path }
|
||||
end
|
||||
|
||||
def current_transaction
|
||||
|
|
|
@ -14,19 +14,12 @@ describe Gitlab::Metrics::Subscribers::ActionView do
|
|||
|
||||
before do
|
||||
allow(subscriber).to receive(:current_transaction).and_return(transaction)
|
||||
|
||||
allow(Gitlab::Metrics).to receive(:last_relative_application_frame).
|
||||
and_return(['app/views/x.html.haml', 4])
|
||||
end
|
||||
|
||||
describe '#render_template' do
|
||||
it 'tracks rendering of a template' do
|
||||
values = { duration: 2.1 }
|
||||
tags = {
|
||||
view: 'app/views/x.html.haml',
|
||||
file: 'app/views/x.html.haml',
|
||||
line: 4
|
||||
}
|
||||
tags = { view: 'app/views/x.html.haml' }
|
||||
|
||||
expect(transaction).to receive(:increment).
|
||||
with(:view_duration, 2.1)
|
||||
|
|
|
@ -13,15 +13,6 @@ describe Gitlab::Metrics do
|
|||
end
|
||||
end
|
||||
|
||||
describe '.last_relative_application_frame' do
|
||||
it 'returns an Array containing a file path and line number' do
|
||||
file, line = described_class.last_relative_application_frame
|
||||
|
||||
expect(line).to eq(__LINE__ - 2)
|
||||
expect(file).to eq('spec/lib/gitlab/metrics_spec.rb')
|
||||
end
|
||||
end
|
||||
|
||||
describe '#submit_metrics' do
|
||||
it 'prepares and writes the metrics to InfluxDB' do
|
||||
connection = double(:connection)
|
||||
|
|
Loading…
Reference in a new issue