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:22:39 +0200
commitae461fb4fb93240352b17c8071c3cc78c109c1aa (patch)
treed46b410cb611e545cf7dd8d7ad152f63a8bb86db
parent2b8fc1387b97dc8ae7857458cc61c6f7a21f6d54 (diff)
downloadgitlab-ce-transaction-query-count.tar.gz
Count the number of SQL queries per transactiontransaction-query-count
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 7ef374b04d8..eb2d35fa660 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -3,6 +3,7 @@ Please view this file on the master branch, on stable branches it's out of date.
v 8.7.0 (unreleased)
- Method instrumentation now uses Module#prepend instead of aliasing methods
- Repository.clean_old_archives is now instrumented
+ - 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