diff --git a/ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb b/ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb index b2af52ebd21eb121a91c0b89e2d29898165ecb1b..cb707858cc33328b00db0a4b661e74b8d8e4bda5 100644 --- a/ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb +++ b/ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb @@ -31,9 +31,11 @@ # depending on which day of the week test is run. # Monday 6th of June described_class.clear_memoization(:known_events) + described_class.clear_memoization(:known_events_names) reference_time = Time.utc(2020, 6, 1) travel_to(reference_time) { example.run } described_class.clear_memoization(:known_events) + described_class.clear_memoization(:known_events_names) end describe '.known_events' do diff --git a/lib/gitlab/usage_data_counters/hll_redis_counter.rb b/lib/gitlab/usage_data_counters/hll_redis_counter.rb index c77a809ade415d72c54adefe769d59896d70dccb..e71061c45227f988419cfaf2ff4e3e0ca0c974e4 100644 --- a/lib/gitlab/usage_data_counters/hll_redis_counter.rb +++ b/lib/gitlab/usage_data_counters/hll_redis_counter.rb @@ -115,7 +115,7 @@ def load_events(wildcard) if Feature.enabled?(:use_metric_definitions_for_events_list) events = Gitlab::Usage::MetricDefinition.not_removed.values.map do |d| d.attributes[:options] && d.attributes[:options][:events] - end.flatten.compact + end.flatten.compact.uniq events.map do |e| { name: e }.with_indifferent_access @@ -132,7 +132,7 @@ def load_yaml_from_path(path) end def known_events_names - known_events.map { |event| event[:name] } + @known_events_names ||= known_events.map { |event| event[:name] } end def event_for(event_name) diff --git a/spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb b/spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb index 62798c1871734ed404cce5c67e2f7fc84011331f..fc1d66d1d624f5a1a031669a4ac1202b54d829f6 100644 --- a/spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb +++ b/spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb @@ -18,9 +18,11 @@ # depending on which day of the week test is run. # Monday 6th of June described_class.clear_memoization(:known_events) + described_class.clear_memoization(:known_events_names) reference_time = Time.utc(2020, 6, 1) travel_to(reference_time) { example.run } described_class.clear_memoization(:known_events) + described_class.clear_memoization(:known_events_names) end describe '.known_events' do diff --git a/spec/lib/gitlab/usage_data_metrics_spec.rb b/spec/lib/gitlab/usage_data_metrics_spec.rb index 34e62523d4542873e71bab665bece912a413fd0d..06e85a34ec9065d7a0c938375bbf18ea24c28231 100644 --- a/spec/lib/gitlab/usage_data_metrics_spec.rb +++ b/spec/lib/gitlab/usage_data_metrics_spec.rb @@ -4,8 +4,6 @@ RSpec.describe Gitlab::UsageDataMetrics, :with_license, feature_category: :service_ping do describe '.uncached_data' do - let(:aggregate) { instance_double('Gitlab::Usage::Metrics::Aggregates::Aggregate') } - subject { described_class.uncached_data } around do |example| @@ -15,11 +13,6 @@ end before do - # stub time-consuming and unnecessary computation - allow(Gitlab::UsageDataCounters::HLLRedisCounter).to receive(:unique_events).and_return(1) - allow(Gitlab::Usage::Metrics::Aggregates::Aggregate).to receive(:new).and_return(aggregate) - allow(aggregate).to receive(:calculate_count_for_aggregation).and_return(1) - allow_next_instance_of(Gitlab::Database::BatchCounter) do |batch_counter| allow(batch_counter).to receive(:transaction_open?).and_return(false) end