Commit 34393d6a authored by Mayra Cabrera's avatar Mayra Cabrera

Merge branch 'sh-disable-line-in-marginalia' into 'master'

Disable Marginalia line backtrace in production

See merge request gitlab-org/gitlab!26199
parents 16e2fe30 c4dc7833
---
title: Disable Marginalia line backtrace in production
merge_request: 26199
author:
type: performance
...@@ -9,7 +9,13 @@ require 'marginalia' ...@@ -9,7 +9,13 @@ require 'marginalia'
# Refer: https://github.com/basecamp/marginalia/blob/v1.8.0/lib/marginalia/railtie.rb#L67 # Refer: https://github.com/basecamp/marginalia/blob/v1.8.0/lib/marginalia/railtie.rb#L67
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(Gitlab::Marginalia::ActiveRecordInstrumentation) ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(Gitlab::Marginalia::ActiveRecordInstrumentation)
Marginalia::Comment.components = [:application, :controller, :action, :correlation_id, :jid, :job_class, :line] Marginalia::Comment.components = [:application, :controller, :action, :correlation_id, :jid, :job_class]
# As mentioned in https://github.com/basecamp/marginalia/pull/93/files,
# adding :line has some overhead because a regexp on the backtrace has
# to be run on every SQL query. Only enable this in development because
# we've seen it slow things down.
Marginalia::Comment.components << :line if Rails.env.development?
Gitlab::Marginalia.set_application_name Gitlab::Marginalia.set_application_name
......
...@@ -59,7 +59,6 @@ describe 'Marginalia spec' do ...@@ -59,7 +59,6 @@ describe 'Marginalia spec' do
"application" => "test", "application" => "test",
"controller" => "marginalia_test", "controller" => "marginalia_test",
"action" => "first_user", "action" => "first_user",
"line" => "/spec/support/helpers/query_recorder.rb",
"correlation_id" => correlation_id "correlation_id" => correlation_id
} }
end end
...@@ -116,7 +115,6 @@ describe 'Marginalia spec' do ...@@ -116,7 +115,6 @@ describe 'Marginalia spec' do
{ {
"application" => "sidekiq", "application" => "sidekiq",
"job_class" => "MarginaliaTestJob", "job_class" => "MarginaliaTestJob",
"line" => "/spec/support/sidekiq_middleware.rb",
"correlation_id" => sidekiq_job['correlation_id'], "correlation_id" => sidekiq_job['correlation_id'],
"jid" => sidekiq_job['jid'] "jid" => sidekiq_job['jid']
} }
...@@ -145,7 +143,6 @@ describe 'Marginalia spec' do ...@@ -145,7 +143,6 @@ describe 'Marginalia spec' do
let(:component_map) do let(:component_map) do
{ {
"application" => "sidekiq", "application" => "sidekiq",
"line" => "/lib/gitlab/i18n.rb",
"jid" => delivery_job.job_id, "jid" => delivery_job.job_id,
"job_class" => delivery_job.arguments.first "job_class" => delivery_job.arguments.first
} }
......
...@@ -14,9 +14,6 @@ describe ActiveRecord::QueryRecorder do ...@@ -14,9 +14,6 @@ describe ActiveRecord::QueryRecorder do
TestQueries.first TestQueries.first
end end
# Test first_only flag works as expected
expect(control.find_query(/.*query_recorder_spec.rb.*/, 0, first_only: true))
.to eq(control.find_query(/.*query_recorder_spec.rb.*/, 0).first)
# Check #find_query # Check #find_query
expect(control.find_query(/.*/, 0).size) expect(control.find_query(/.*/, 0).size)
.to eq(control.data.keys.size) .to eq(control.data.keys.size)
...@@ -32,9 +29,7 @@ describe ActiveRecord::QueryRecorder do ...@@ -32,9 +29,7 @@ describe ActiveRecord::QueryRecorder do
# Ensure memoization value match the raw value above # Ensure memoization value match the raw value above
expect(control.count).to eq(control.log.size) expect(control.count).to eq(control.log.size)
# Ensure we have only two sources of queries # Ensure we have only two sources of queries
expect(control.data.keys.size).to eq(2) expect(control.data.keys.size).to eq(1)
# Ensure we detect only queries from this file
expect(control.data.keys.find_all { |i| i.match(/query_recorder_spec.rb/) }.count).to eq(2)
end end
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment