Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2016-04-11 14:27:24 +0300
committerYorick Peterse <yorickpeterse@gmail.com>2016-04-11 14:27:52 +0300
commitd9110a7ecab52ab0716a42c2075cebdf8028d5e7 (patch)
tree5a3133dafdea73d42953ed8bd1b14b89cc990ed6
parent185d78bcb3064c25b764937949d2bb66ec66901a (diff)
Track call counts in Gitlab::Metrics.measure_block
-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