summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2016-04-11 13:27:24 +0200
committerYorick Peterse <yorickpeterse@gmail.com>2016-04-11 13:27:52 +0200
commitd9110a7ecab52ab0716a42c2075cebdf8028d5e7 (patch)
tree5a3133dafdea73d42953ed8bd1b14b89cc990ed6
parent185d78bcb3064c25b764937949d2bb66ec66901a (diff)
downloadgitlab-ce-metrics-measure-block-transaction.tar.gz
Track call counts in Gitlab::Metrics.measure_blockmetrics-measure-block-transaction
-rw-r--r--doc/development/instrumentation.md7
-rw-r--r--lib/gitlab/metrics.rb1
-rw-r--r--spec/lib/gitlab/metrics_spec.rb3
3 files changed, 8 insertions, 3 deletions
diff --git a/doc/development/instrumentation.md b/doc/development/instrumentation.md
index f7e148fb3e4..c1cf2e77c26 100644
--- a/doc/development/instrumentation.md
+++ b/doc/development/instrumentation.md
@@ -14,10 +14,11 @@ Gitlab::Metrics.measure(:foo) do
end
```
-Two values are measured for a block:
+3 values are measured for a block:
-1. The real time elapsed, stored in NAME_real_time
-2. The CPU time elapsed, stored in NAME_cpu_time
+1. The real time elapsed, stored in NAME_real_time.
+2. The CPU time elapsed, stored in NAME_cpu_time.
+3. The call count, stored in NAME_call_count.
Both the real and CPU timings are measured in milliseconds.
diff --git a/lib/gitlab/metrics.rb b/lib/gitlab/metrics.rb
index 4d64555027e..33dd3e39f4d 100644
--- a/lib/gitlab/metrics.rb
+++ b/lib/gitlab/metrics.rb
@@ -97,6 +97,7 @@ module Gitlab
Transaction.current.increment("#{name}_real_time", real_time)
Transaction.current.increment("#{name}_cpu_time", cpu_time)
+ Transaction.current.increment("#{name}_call_count", 1)
retval
end
diff --git a/spec/lib/gitlab/metrics_spec.rb b/spec/lib/gitlab/metrics_spec.rb
index edefec909c9..a3b68455260 100644
--- a/spec/lib/gitlab/metrics_spec.rb
+++ b/spec/lib/gitlab/metrics_spec.rb
@@ -85,6 +85,9 @@ describe Gitlab::Metrics do
expect(transaction).to receive(:increment).
with('foo_cpu_time', a_kind_of(Numeric))
+ expect(transaction).to receive(:increment).
+ with('foo_call_count', 1)
+
Gitlab::Metrics.measure(:foo) { 10 }
end