diff options
author | Jan Provaznik <jprovaznik@gitlab.com> | 2019-06-04 12:11:55 +0300 |
---|---|---|
committer | Kamil TrzciĆski <ayufan@ayufan.eu> | 2019-06-04 12:11:55 +0300 |
commit | d4a83ce5a3f8bc6024091e3c75d81ce3fa413a56 (patch) | |
tree | 420e1ae2ed359a85cd04d07b366cc93b32f04919 /spec/lib/gitlab | |
parent | 5915dec667713ae4c7f4685bdefceb92ef446076 (diff) |
Ignore Puma empty worker stats
In some cases (during worker start) it's possible that
Puma.stats returns an empty hash for worker's last status. In
that case we just skip sampling of the worker until these
stats are available.
Diffstat (limited to 'spec/lib/gitlab')
-rw-r--r-- | spec/lib/gitlab/metrics/samplers/puma_sampler_spec.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/lib/gitlab/metrics/samplers/puma_sampler_spec.rb b/spec/lib/gitlab/metrics/samplers/puma_sampler_spec.rb index c471c30a194..f4a6e1fc7d9 100644 --- a/spec/lib/gitlab/metrics/samplers/puma_sampler_spec.rb +++ b/spec/lib/gitlab/metrics/samplers/puma_sampler_spec.rb @@ -61,6 +61,33 @@ describe Gitlab::Metrics::Samplers::PumaSampler do end end + context 'with empty worker stats' do + let(:puma_stats) do + <<~EOS + { + "workers": 2, + "phase": 2, + "booted_workers": 2, + "old_workers": 0, + "worker_status": [{ + "pid": 32534, + "index": 0, + "phase": 1, + "booted": true, + "last_checkin": "2019-05-15T07:57:55Z", + "last_status": {} + }] + } + EOS + end + + it 'does not log worker stats' do + expect(subject).not_to receive(:set_worker_metrics) + + subject.sample + end + end + context 'in single mode' do let(:puma_stats) do <<~EOS |