summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Cobb <rcobb@gitlab.com>2019-05-17 10:46:29 -0600
committerRyan Cobb <rcobb@gitlab.com>2019-05-17 10:46:29 -0600
commitf0a5150c14437819926017ea5e9f1b326952b813 (patch)
tree5735e3f035e3f76aa92bd8efd5c89a2062841926
parent5ba138b149e4719d136d2e540c018424e09f2b64 (diff)
downloadgitlab-ce-f0a5150c14437819926017ea5e9f1b326952b813.tar.gz
Sets sys-proctable smaps to false, parses stat directly for starttimes
-rw-r--r--lib/gitlab/metrics/samplers/unicorn_sampler.rb2
-rw-r--r--lib/gitlab/metrics/system.rb7
2 files changed, 5 insertions, 4 deletions
diff --git a/lib/gitlab/metrics/samplers/unicorn_sampler.rb b/lib/gitlab/metrics/samplers/unicorn_sampler.rb
index 1b6c52ac0bf..a149dbf20f3 100644
--- a/lib/gitlab/metrics/samplers/unicorn_sampler.rb
+++ b/lib/gitlab/metrics/samplers/unicorn_sampler.rb
@@ -58,7 +58,7 @@ module Gitlab
end
def unicorn_workers_count
- Sys::ProcTable.ps.select {|p| p.cmdline.match(/unicorn_rails worker.+ #{Rails.root.to_s}/)}.count
+ Sys::ProcTable.ps(smaps: false).select {|p| p.cmdline.match(/unicorn_rails worker.+ #{Rails.root.to_s}/)}.count
end
end
end
diff --git a/lib/gitlab/metrics/system.rb b/lib/gitlab/metrics/system.rb
index ce0bb82d138..ca4192d2bd3 100644
--- a/lib/gitlab/metrics/system.rb
+++ b/lib/gitlab/metrics/system.rb
@@ -33,10 +33,11 @@ module Gitlab
end
def self.process_start_time
- start_time_in_jiffies = Sys::ProcTable.ps(pid: Process.pid).starttime
- return 0 unless start_time_in_jiffies
+ stat_string = File.read('/proc/self/stat')
+ match = stat_string.scan(/\S*/).reject { |match| match.empty? }
+ return 0 unless match && match[21]
- start_time_in_jiffies / 100
+ match[21].to_i / 100
end
else
def self.memory_usage