Commit dcdb4218 authored by Robert Speicher's avatar Robert Speicher Committed by Alejandro Rodríguez

Merge branch 'fix_sidekiq_stats_in_admin_area' into 'master'

Fix Sidekiq stats in admin area

Closes #23825, #24675 

See merge request !7654
parent beec9c62
...@@ -5,15 +5,11 @@ module SidekiqHelper ...@@ -5,15 +5,11 @@ module SidekiqHelper
(?<mem>[\d\.,]+)\s+ (?<mem>[\d\.,]+)\s+
(?<state>[DRSTWXZNLsl\+<]+)\s+ (?<state>[DRSTWXZNLsl\+<]+)\s+
(?<start>.+)\s+ (?<start>.+)\s+
(?<command>sidekiq.*\])\s* (?<command>sidekiq.*\])
\z/x \z/x
def parse_sidekiq_ps(line) def parse_sidekiq_ps(line)
match = line.match(SIDEKIQ_PS_REGEXP) match = line.strip.match(SIDEKIQ_PS_REGEXP)
if match match ? match[1..6] : Array.new(6, '?')
match[1..6]
else
%w[? ? ? ? ? ?]
end
end end
end end
---
title: Sidekiq stats in the admin area will now show correctly on different platforms
merge_request:
author: blackst0ne
...@@ -30,6 +30,29 @@ describe SidekiqHelper do ...@@ -30,6 +30,29 @@ describe SidekiqHelper do
expect(parts).to eq(['55137', '10.0', '2.1', 'S+', '2:30pm', 'sidekiq 4.1.4 gitlab [0 of 25 busy]']) expect(parts).to eq(['55137', '10.0', '2.1', 'S+', '2:30pm', 'sidekiq 4.1.4 gitlab [0 of 25 busy]'])
end end
it 'parses OSX output' do
line = ' 1641 1.5 3.8 S+ 4:04PM sidekiq 4.2.1 gitlab [0 of 25 busy]'
parts = helper.parse_sidekiq_ps(line)
expect(parts).to eq(['1641', '1.5', '3.8', 'S+', '4:04PM', 'sidekiq 4.2.1 gitlab [0 of 25 busy]'])
end
it 'parses Ubuntu output' do
# Ubuntu Linux 16.04 LTS / procps-3.3.10-4ubuntu2
line = ' 938 1.4 2.5 Sl+ 21:23:21 sidekiq 4.2.1 gitlab [0 of 25 busy] '
parts = helper.parse_sidekiq_ps(line)
expect(parts).to eq(['938', '1.4', '2.5', 'Sl+', '21:23:21', 'sidekiq 4.2.1 gitlab [0 of 25 busy]'])
end
it 'parses Debian output' do
# Debian Linux Wheezy/Jessie
line = '17725 1.0 12.1 Ssl 19:20:15 sidekiq 4.2.1 gitlab-rails [0 of 25 busy] '
parts = helper.parse_sidekiq_ps(line)
expect(parts).to eq(['17725', '1.0', '12.1', 'Ssl', '19:20:15', 'sidekiq 4.2.1 gitlab-rails [0 of 25 busy]'])
end
it 'does fail gracefully on line not matching the format' do it 'does fail gracefully on line not matching the format' do
line = '55137 10.0 2.1 S+ 2:30pm something' line = '55137 10.0 2.1 S+ 2:30pm something'
parts = helper.parse_sidekiq_ps(line) parts = helper.parse_sidekiq_ps(line)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment