From d9110a7ecab52ab0716a42c2075cebdf8028d5e7 Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Mon, 11 Apr 2016 13:27:24 +0200 Subject: Track call counts in Gitlab::Metrics.measure_block --- doc/development/instrumentation.md | 7 ++++--- lib/gitlab/metrics.rb | 1 + spec/lib/gitlab/metrics_spec.rb | 3 +++ 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 -- cgit v1.2.1