From f12dba53d96f9ba995726257353bf6df374e5aee Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 24 Dec 2019 03:07:52 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- app/models/environment.rb | 6 ++- .../sample-metrics-without-prometheus.yml | 5 ++ doc/development/i18n/proofreader.md | 2 +- spec/models/environment_spec.rb | 47 +++++++++++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 changelogs/unreleased/sample-metrics-without-prometheus.yml diff --git a/app/models/environment.rb b/app/models/environment.rb index 7ef38ab4cf4..d54050cd156 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -204,7 +204,11 @@ class Environment < ApplicationRecord end def has_metrics? - available? && prometheus_adapter&.configured? + available? && (prometheus_adapter&.configured? || has_sample_metrics?) + end + + def has_sample_metrics? + !!ENV['USE_SAMPLE_METRICS'] end def metrics diff --git a/changelogs/unreleased/sample-metrics-without-prometheus.yml b/changelogs/unreleased/sample-metrics-without-prometheus.yml new file mode 100644 index 00000000000..471af0a909a --- /dev/null +++ b/changelogs/unreleased/sample-metrics-without-prometheus.yml @@ -0,0 +1,5 @@ +--- +title: Show sample metrics for an environment without prometheus configured +merge_request: 22133 +author: +type: added diff --git a/doc/development/i18n/proofreader.md b/doc/development/i18n/proofreader.md index 29b8471689f..a475f854ab0 100644 --- a/doc/development/i18n/proofreader.md +++ b/doc/development/i18n/proofreader.md @@ -25,7 +25,7 @@ are very appreciative of the work done by translators and proofreaders! - Victor Wu - [GitLab](https://gitlab.com/victorwuky), [Crowdin](https://crowdin.com/profile/victorwu) - Ivan Ip - [GitLab](https://gitlab.com/lifehome), [Crowdin](https://crowdin.com/profile/lifehome) - Czech - - Proofreaders needed. + - Jan Urbanec - [GitLab](https://gitlab.com/TatranskyMedved), [Crowdin](https://crowdin.com/profile/Tatranskymedved) - Danish - Saederup92 - [GitLab](https://gitlab.com/Saederup92), [Crowdin](https://crowdin.com/profile/Saederup92) - Dutch diff --git a/spec/models/environment_spec.rb b/spec/models/environment_spec.rb index fe1517e76d3..462e9a56f5c 100644 --- a/spec/models/environment_spec.rb +++ b/spec/models/environment_spec.rb @@ -6,6 +6,7 @@ describe Environment, :use_clean_rails_memory_store_caching do include ReactiveCachingHelpers using RSpec::Parameterized::TableSyntax include RepoHelpers + include StubENV let(:project) { create(:project, :repository) } @@ -851,6 +852,52 @@ describe Environment, :use_clean_rails_memory_store_caching do context 'without a monitoring service' do it { is_expected.to be_falsy } end + + context 'when sample metrics are enabled' do + before do + stub_env('USE_SAMPLE_METRICS', 'true') + end + + context 'with no prometheus adapter configured' do + before do + allow(environment.prometheus_adapter).to receive(:configured?).and_return(false) + end + + it { is_expected.to be_truthy } + end + end + end + + describe '#has_sample_metrics?' do + subject { environment.has_metrics? } + + let(:project) { create(:project) } + + context 'when sample metrics are enabled' do + before do + stub_env('USE_SAMPLE_METRICS', 'true') + end + + context 'with no prometheus adapter configured' do + before do + allow(environment.prometheus_adapter).to receive(:configured?).and_return(false) + end + + it { is_expected.to be_truthy } + end + + context 'with the environment stopped' do + before do + environment.stop + end + + it { is_expected.to be_falsy } + end + end + + context 'when sample metrics are not enabled' do + it { is_expected.to be_falsy } + end end context 'when the environment is unavailable' do