diff options
Diffstat (limited to 'spec/lib/gitlab/metrics')
-rw-r--r-- | spec/lib/gitlab/metrics/loose_foreign_keys_slis_spec.rb | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/metrics/rails_slis_spec.rb | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/metrics/subscribers/rails_cache_spec.rb | 31 |
3 files changed, 27 insertions, 8 deletions
diff --git a/spec/lib/gitlab/metrics/loose_foreign_keys_slis_spec.rb b/spec/lib/gitlab/metrics/loose_foreign_keys_slis_spec.rb index 58740278425..0d6ce68a7f8 100644 --- a/spec/lib/gitlab/metrics/loose_foreign_keys_slis_spec.rb +++ b/spec/lib/gitlab/metrics/loose_foreign_keys_slis_spec.rb @@ -7,7 +7,7 @@ RSpec.describe ::Gitlab::Metrics::LooseForeignKeysSlis do # config/database.yml and the specs need to work for all configurations. That # means this assertion is a copy of the implementation. let(:possible_labels) do - ::Gitlab::Database.db_config_names.map do |db_config_name| + ::Gitlab::Database.db_config_names(with_schema: :gitlab_shared).map do |db_config_name| { db_config_name: db_config_name, feature_category: :database diff --git a/spec/lib/gitlab/metrics/rails_slis_spec.rb b/spec/lib/gitlab/metrics/rails_slis_spec.rb index 32d3b7581f1..ef996f61082 100644 --- a/spec/lib/gitlab/metrics/rails_slis_spec.rb +++ b/spec/lib/gitlab/metrics/rails_slis_spec.rb @@ -11,7 +11,7 @@ RSpec.describe Gitlab::Metrics::RailsSlis, feature_category: :error_budgets do [ { endpoint_id: "ProjectsController#index", - feature_category: :projects, + feature_category: :groups_and_projects, request_urgency: :default } ] diff --git a/spec/lib/gitlab/metrics/subscribers/rails_cache_spec.rb b/spec/lib/gitlab/metrics/subscribers/rails_cache_spec.rb index 2d4c6d1cc56..fe5264a1ccb 100644 --- a/spec/lib/gitlab/metrics/subscribers/rails_cache_spec.rb +++ b/spec/lib/gitlab/metrics/subscribers/rails_cache_spec.rb @@ -10,6 +10,25 @@ RSpec.describe Gitlab::Metrics::Subscribers::RailsCache do let(:store_label) { 'CustomStore' } let(:event) { double(:event, duration: 15.2, payload: { key: %w[a b c], store: store }) } + context 'when receiving multiple instrumentation hits in a transaction' do + before do + allow(subscriber).to receive(:current_transaction) + .and_return(transaction) + end + + it 'does not raise InvalidLabelSetError error' do + expect do + subscriber.cache_read(event) + subscriber.cache_read_multi(event) + subscriber.cache_write(event) + subscriber.cache_delete(event) + subscriber.cache_exist?(event) + subscriber.cache_fetch_hit(event) + subscriber.cache_generate(event) + end.not_to raise_error + end + end + describe '#cache_read' do it 'increments the cache_read duration' do expect(subscriber).to receive(:observe) @@ -32,7 +51,7 @@ RSpec.describe Gitlab::Metrics::Subscribers::RailsCache do it 'does not increment cache read miss total' do expect(transaction).not_to receive(:increment) - .with(:gitlab_cache_misses_total, 1) + .with(:gitlab_cache_misses_total, 1, { store: store_label }) subscriber.cache_read(event) end @@ -44,7 +63,7 @@ RSpec.describe Gitlab::Metrics::Subscribers::RailsCache do it 'increments the cache_read_miss total' do expect(transaction).to receive(:increment) - .with(:gitlab_cache_misses_total, 1) + .with(:gitlab_cache_misses_total, 1, { store: store_label }) expect(transaction).to receive(:increment) .with(any_args).at_least(1) # Other calls @@ -56,7 +75,7 @@ RSpec.describe Gitlab::Metrics::Subscribers::RailsCache do it 'does not increment cache read miss total' do expect(transaction).not_to receive(:increment) - .with(:gitlab_cache_misses_total, 1) + .with(:gitlab_cache_misses_total, 1, { store: store_label }) subscriber.cache_read(event) end @@ -145,7 +164,7 @@ RSpec.describe Gitlab::Metrics::Subscribers::RailsCache do it 'increments the cache_read_hit count' do expect(transaction).to receive(:increment) - .with(:gitlab_transaction_cache_read_hit_count_total, 1) + .with(:gitlab_transaction_cache_read_hit_count_total, 1, { store: store_label }) subscriber.cache_fetch_hit(event) end @@ -168,9 +187,9 @@ RSpec.describe Gitlab::Metrics::Subscribers::RailsCache do end it 'increments the cache_fetch_miss count and cache_read_miss total' do - expect(transaction).to receive(:increment).with(:gitlab_cache_misses_total, 1) + expect(transaction).to receive(:increment).with(:gitlab_cache_misses_total, 1, { store: store_label }) expect(transaction).to receive(:increment) - .with(:gitlab_transaction_cache_read_miss_count_total, 1) + .with(:gitlab_transaction_cache_read_miss_count_total, 1, { store: store_label }) subscriber.cache_generate(event) end |