From 97f411b7963ee239823f58ad171fa6794bc37b79 Mon Sep 17 00:00:00 2001 From: Aleksei Lipniagov Date: Fri, 28 Jun 2019 14:47:35 +0300 Subject: [PATCH 1/2] Use PROCESS_CPUTIME_ID for cpu time metrics To measure ruby cpu time, we should use PROCESS_CPUTIME_ID instead of THREAD_CPUTIME_ID in our environments. --- lib/gitlab/metrics/system.rb | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/lib/gitlab/metrics/system.rb b/lib/gitlab/metrics/system.rb index 33c0de91c11..34de40ca72f 100644 --- a/lib/gitlab/metrics/system.rb +++ b/lib/gitlab/metrics/system.rb @@ -57,17 +57,9 @@ module Gitlab end end - # THREAD_CPUTIME is not supported on OS X - if Process.const_defined?(:CLOCK_THREAD_CPUTIME_ID) - def self.cpu_time - Process - .clock_gettime(Process::CLOCK_THREAD_CPUTIME_ID, :float_second) - end - else - def self.cpu_time - Process - .clock_gettime(Process::CLOCK_PROCESS_CPUTIME_ID, :float_second) - end + def self.cpu_time + Process + .clock_gettime(Process::CLOCK_PROCESS_CPUTIME_ID, :float_second) end # Returns the current real time in a given precision. From 447ac5f99f94511b5551492b7301ed914a19a66a Mon Sep 17 00:00:00 2001 From: Aleksei Lipniagov Date: Fri, 28 Jun 2019 16:27:02 +0300 Subject: [PATCH 2/2] Fix spec definitions --- spec/lib/gitlab/metrics/system_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/lib/gitlab/metrics/system_spec.rb b/spec/lib/gitlab/metrics/system_spec.rb index b0603d96eb2..da87df15746 100644 --- a/spec/lib/gitlab/metrics/system_spec.rb +++ b/spec/lib/gitlab/metrics/system_spec.rb @@ -52,13 +52,13 @@ describe Gitlab::Metrics::System do end describe '.cpu_time' do - it 'returns a Fixnum' do + it 'returns a Float' do expect(described_class.cpu_time).to be_an(Float) end end describe '.real_time' do - it 'returns a Fixnum' do + it 'returns a Float' do expect(described_class.real_time).to be_an(Float) end end