summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2017-11-20 09:18:15 -0800
committerStan Hu <stanhu@gmail.com>2017-11-21 21:32:56 -0800
commit52b6cbcb9df7e2c968da3e9a9779500cacfac465 (patch)
tree22742167bb25b8101fbd04dd3f91bc7dda1eda21 /spec
parent6369db0196ec7b6e288b16382c95243424a59b62 (diff)
downloadgitlab-ce-52b6cbcb9df7e2c968da3e9a9779500cacfac465.tar.gz
Add QUERY_RECORDER_DEBUG environment variable to improve performance debuggingsh-add-query-recorder-debugging
Diffstat (limited to 'spec')
-rw-r--r--spec/support/query_recorder.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/spec/support/query_recorder.rb b/spec/support/query_recorder.rb
index ba0b805caad..cd67b517ea0 100644
--- a/spec/support/query_recorder.rb
+++ b/spec/support/query_recorder.rb
@@ -8,7 +8,14 @@ module ActiveRecord
ActiveSupport::Notifications.subscribed(method(:callback), 'sql.active_record', &block)
end
+ def show_backtrace(values)
+ Rails.logger.debug("QueryRecorder SQL: #{values[:sql]}")
+ caller.each { |line| Rails.logger.debug(" --> #{line}") }
+ end
+
def callback(name, start, finish, message_id, values)
+ show_backtrace(values) if ENV['QUERY_RECORDER_DEBUG']
+
if values[:name]&.include?("CACHE")
@cached << values[:sql]
elsif !values[:name]&.include?("SCHEMA")