summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2016-04-18 12:07:40 +0200
committerYorick Peterse <yorickpeterse@gmail.com>2016-04-18 14:53:13 +0200
commit7e6f0ac0e04c3fa05a8d952bf86463001dc48487 (patch)
tree4a14695630e1369ce4ca6affd638e5771c1cd95d
parent06952aaf24633550f57fd54b70d27732509935c2 (diff)
downloadgitlab-ce-7e6f0ac0e04c3fa05a8d952bf86463001dc48487.tar.gz
Count the number of SQL queries per transaction
Fixes gitlab-org/gitlab-ce#15335
-rw-r--r--CHANGELOG1
-rw-r--r--lib/gitlab/metrics/subscribers/active_record.rb1
-rw-r--r--spec/lib/gitlab/metrics/subscribers/active_record_spec.rb3
3 files changed, 5 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG
index b929f1fd7b9..502ed0e9590 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -4,6 +4,7 @@ v 8.7.0 (unreleased)
- Method instrumentation now uses Module#prepend instead of aliasing methods
- Repository.clean_old_archives is now instrumented
- Add support for environment variables on a job level in CI configuration file
+ - SQL query counts are now tracked per transaction
- The Projects::HousekeepingService class has extra instrumentation
- All service classes (those residing in app/services) are now instrumented
- Developers can now add custom tags to transactions
diff --git a/lib/gitlab/metrics/subscribers/active_record.rb b/lib/gitlab/metrics/subscribers/active_record.rb
index 8008b3bc895..96cad941d5c 100644
--- a/lib/gitlab/metrics/subscribers/active_record.rb
+++ b/lib/gitlab/metrics/subscribers/active_record.rb
@@ -9,6 +9,7 @@ module Gitlab
return unless current_transaction
current_transaction.increment(:sql_duration, event.duration)
+ current_transaction.increment(:sql_count, 1)
end
private
diff --git a/spec/lib/gitlab/metrics/subscribers/active_record_spec.rb b/spec/lib/gitlab/metrics/subscribers/active_record_spec.rb
index 7bc070a4d09..e3293a01207 100644
--- a/spec/lib/gitlab/metrics/subscribers/active_record_spec.rb
+++ b/spec/lib/gitlab/metrics/subscribers/active_record_spec.rb
@@ -28,6 +28,9 @@ describe Gitlab::Metrics::Subscribers::ActiveRecord do
expect(transaction).to receive(:increment).
with(:sql_duration, 0.2)
+ expect(transaction).to receive(:increment).
+ with(:sql_count, 1)
+
subscriber.sql(event)
end
end