diff options
author | Pawel Chojnacki <pawel@chojnacki.ws> | 2017-09-07 20:24:31 +0200 |
---|---|---|
committer | Pawel Chojnacki <pawel@chojnacki.ws> | 2017-11-02 18:11:44 +0100 |
commit | 44eedb22bcb799d1c8dd7b30114f3c24ad8649a4 (patch) | |
tree | 1452946272895f08f403de8506efa0097e674997 /lib | |
parent | b4dbc30616db11fcfa7775f4fe1c040651f70aa0 (diff) | |
download | gitlab-ce-44eedb22bcb799d1c8dd7b30114f3c24ad8649a4.tar.gz |
Add info about prometheus buckets
+ fix cpu time
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/metrics/influx_db.rb | 13 | ||||
-rw-r--r-- | lib/gitlab/metrics/method_call.rb | 3 |
2 files changed, 9 insertions, 7 deletions
diff --git a/lib/gitlab/metrics/influx_db.rb b/lib/gitlab/metrics/influx_db.rb index adbc5397257..bdf7910b7c7 100644 --- a/lib/gitlab/metrics/influx_db.rb +++ b/lib/gitlab/metrics/influx_db.rb @@ -11,6 +11,8 @@ module Gitlab settings[:enabled] || false end + # Prometheus histogram buckets used for arbitrary code measurements + EXECUTION_MEASUREMENT_BUCKETS = [0.001, 0.002, 0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1].freeze RAILS_ROOT = Rails.root.to_s METRICS_ROOT = Rails.root.join('lib', 'gitlab', 'metrics').to_s PATH_REGEX = /^#{RAILS_ROOT}\/?/ @@ -99,22 +101,23 @@ module Gitlab cpu_stop = System.cpu_time real_stop = Time.now.to_f - real_time = (real_stop - real_start) * 1000.0 + real_time = (real_stop - real_start) cpu_time = cpu_stop - cpu_start Gitlab::Metrics.histogram("gitlab_#{name}_real_duration_seconds".to_sym, "Measure #{name}", Transaction::BASE_LABELS, - [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2]) - .observe(trans.labels, real_time / 1000.0) + EXECUTION_MEASUREMENT_BUCKETS) + .observe(trans.labels, real_time) Gitlab::Metrics.histogram("gitlab_#{name}_cpu_duration_seconds".to_sym, "Measure #{name}", Transaction::BASE_LABELS, - [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2]) + EXECUTION_MEASUREMENT_BUCKETS) .observe(trans.labels, cpu_time / 1000.0) - trans.increment("#{name}_real_time", real_time, false) + # InfluxDB stores the _real_time time values as milliseconds + trans.increment("#{name}_real_time", real_time * 1000, false) trans.increment("#{name}_cpu_time", cpu_time, false) trans.increment("#{name}_call_count", 1, false) diff --git a/lib/gitlab/metrics/method_call.rb b/lib/gitlab/metrics/method_call.rb index f83d397fd78..2a962a82517 100644 --- a/lib/gitlab/metrics/method_call.rb +++ b/lib/gitlab/metrics/method_call.rb @@ -46,8 +46,7 @@ module Gitlab cpu_time = System.cpu_time - start_cpu @real_time += real_time - - @cpu_time += System.cpu_time - start_cpu + @cpu_time += cpu_time @call_count += 1 self.class.call_real_duration_histogram.observe(@transaction.labels.merge(labels), real_time / 1000.0) |