Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tasks/gitlab/packages/events.rake')
-rw-r--r--lib/tasks/gitlab/packages/events.rake34
1 files changed, 20 insertions, 14 deletions
diff --git a/lib/tasks/gitlab/packages/events.rake b/lib/tasks/gitlab/packages/events.rake
index ca507fb5320..cfe97984dda 100644
--- a/lib/tasks/gitlab/packages/events.rake
+++ b/lib/tasks/gitlab/packages/events.rake
@@ -5,18 +5,18 @@ namespace :gitlab do
namespace :packages do
namespace :events do
task generate: :environment do
- Rake::Task["gitlab:packages:events:generate_guest"].invoke
+ Rake::Task["gitlab:packages:events:generate_counts"].invoke
Rake::Task["gitlab:packages:events:generate_unique"].invoke
rescue => e
logger.error("Error building events list: #{e}")
end
- task generate_guest: :environment do
+ task generate_counts: :environment do
logger = Logger.new(STDOUT)
logger.info('Building list of package events...')
- path = Gitlab::UsageDataCounters::GuestPackageEventCounter::KNOWN_EVENTS_PATH
- File.open(path, "w") { |file| file << guest_events_list.to_yaml }
+ path = Gitlab::UsageDataCounters::PackageEventCounter::KNOWN_EVENTS_PATH
+ File.open(path, "w") { |file| file << counter_events_list.to_yaml }
logger.info("Events file `#{path}` generated successfully")
rescue => e
@@ -43,26 +43,32 @@ namespace :gitlab do
def generate_unique_events_list
events = event_pairs.each_with_object([]) do |(event_type, event_scope), events|
- Packages::Event.originator_types.keys.excluding('guest').each do |originator|
- if name = Packages::Event.allowed_event_name(event_scope, event_type, originator)
- events << {
- "name" => name,
- "category" => "#{event_scope}_packages",
+ Packages::Event.originator_types.keys.excluding('guest').each do |originator_type|
+ events_definition = Packages::Event.unique_counters_for(event_scope, event_type, originator_type).map do |event_name|
+ {
+ "name" => event_name,
+ "category" => "#{originator_type}_packages",
"aggregation" => "weekly",
"redis_slot" => "package",
"feature_flag" => "collect_package_events_redis"
}
end
+
+ events.concat(events_definition)
end
end
- events.sort_by { |event| event["name"] }
+ events.sort_by { |event| event["name"] }.uniq
end
- def guest_events_list
- event_pairs.map do |event_type, event_scope|
- Packages::Event.allowed_event_name(event_scope, event_type, "guest")
- end.compact.sort
+ def counter_events_list
+ counters = event_pairs.flat_map do |event_type, event_scope|
+ Packages::Event.originator_types.keys.flat_map do |originator_type|
+ Packages::Event.counters_for(event_scope, event_type, originator_type)
+ end
+ end
+
+ counters.compact.sort.uniq
end
end
end