diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-17 14:59:07 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-17 14:59:07 +0300 |
commit | 8b573c94895dc0ac0e1d9d59cf3e8745e8b539ca (patch) | |
tree | 544930fb309b30317ae9797a9683768705d664c4 /lib/gitlab/usage_data_counters | |
parent | 4b1de649d0168371549608993deac953eb692019 (diff) |
Add latest changes from gitlab-org/gitlab@13-7-stable-eev13.7.0-rc42
Diffstat (limited to 'lib/gitlab/usage_data_counters')
10 files changed, 339 insertions, 126 deletions
diff --git a/lib/gitlab/usage_data_counters/aggregated_metrics/common.yml b/lib/gitlab/usage_data_counters/aggregated_metrics/common.yml index 97ec8423b95..b7c0abae227 100644 --- a/lib/gitlab/usage_data_counters/aggregated_metrics/common.yml +++ b/lib/gitlab/usage_data_counters/aggregated_metrics/common.yml @@ -11,7 +11,31 @@ - name: product_analytics_test_metrics_union operator: OR events: ['i_search_total', 'i_search_advanced', 'i_search_paid'] - feature_flag: product_analytics_aggregated_metrics - name: product_analytics_test_metrics_intersection operator: AND events: ['i_search_total', 'i_search_advanced', 'i_search_paid'] +- name: incident_management_alerts_total_unique_counts + operator: OR + events: [ + 'incident_management_alert_status_changed', + 'incident_management_alert_assigned', + 'incident_management_alert_todo', + 'incident_management_alert_create_incident' + ] + feature_flag: usage_data_incident_management_alerts_total_unique_counts +- name: incident_management_incidents_total_unique_counts + operator: OR + events: [ + 'incident_management_incident_created', + 'incident_management_incident_reopened', + 'incident_management_incident_closed', + 'incident_management_incident_assigned', + 'incident_management_incident_todo', + 'incident_management_incident_comment', + 'incident_management_incident_zoom_meeting', + 'incident_management_incident_published', + 'incident_management_incident_relate', + 'incident_management_incident_unrelate', + 'incident_management_incident_change_confidential' + ] + feature_flag: usage_data_incident_management_incidents_total_unique_counts diff --git a/lib/gitlab/usage_data_counters/base_counter.rb b/lib/gitlab/usage_data_counters/base_counter.rb index 44893645cc2..d28fd17a989 100644 --- a/lib/gitlab/usage_data_counters/base_counter.rb +++ b/lib/gitlab/usage_data_counters/base_counter.rb @@ -29,6 +29,12 @@ module Gitlab::UsageDataCounters known_events.map { |event| [counter_key(event), -1] }.to_h end + def fetch_supported_event(event_name) + return if prefix.present? && !event_name.start_with?(prefix) + + known_events.find { |event| counter_key(event) == event_name.to_sym } + end + private def require_known_event(event) diff --git a/lib/gitlab/usage_data_counters/counter_events/guest_package_events.yml b/lib/gitlab/usage_data_counters/counter_events/guest_package_events.yml new file mode 100644 index 00000000000..a9b9f8ea235 --- /dev/null +++ b/lib/gitlab/usage_data_counters/counter_events/guest_package_events.yml @@ -0,0 +1,34 @@ +--- +- i_package_composer_guest_delete +- i_package_composer_guest_pull +- i_package_composer_guest_push +- i_package_conan_guest_delete +- i_package_conan_guest_pull +- i_package_conan_guest_push +- i_package_container_guest_delete +- i_package_container_guest_pull +- i_package_container_guest_push +- i_package_debian_guest_delete +- i_package_debian_guest_pull +- i_package_debian_guest_push +- i_package_generic_guest_delete +- i_package_generic_guest_pull +- i_package_generic_guest_push +- i_package_golang_guest_delete +- i_package_golang_guest_pull +- i_package_golang_guest_push +- i_package_maven_guest_delete +- i_package_maven_guest_pull +- i_package_maven_guest_push +- i_package_npm_guest_delete +- i_package_npm_guest_pull +- i_package_npm_guest_push +- i_package_nuget_guest_delete +- i_package_nuget_guest_pull +- i_package_nuget_guest_push +- i_package_pypi_guest_delete +- i_package_pypi_guest_pull +- i_package_pypi_guest_push +- i_package_tag_guest_delete +- i_package_tag_guest_pull +- i_package_tag_guest_push diff --git a/lib/gitlab/usage_data_counters/editor_unique_counter.rb b/lib/gitlab/usage_data_counters/editor_unique_counter.rb index b68d50ee419..eeb26c11bfa 100644 --- a/lib/gitlab/usage_data_counters/editor_unique_counter.rb +++ b/lib/gitlab/usage_data_counters/editor_unique_counter.rb @@ -6,6 +6,7 @@ module Gitlab EDIT_BY_SNIPPET_EDITOR = 'g_edit_by_snippet_ide' EDIT_BY_SFE = 'g_edit_by_sfe' EDIT_BY_WEB_IDE = 'g_edit_by_web_ide' + EDIT_BY_SSE = 'g_edit_by_sse' EDIT_CATEGORY = 'ide_edit' class << self @@ -38,6 +39,14 @@ module Gitlab count_unique(events, date_from, date_to) end + def track_sse_edit_action(author:, time: Time.zone.now) + track_unique_action(EDIT_BY_SSE, author, time) + end + + def count_sse_edit_actions(date_from:, date_to:) + count_unique(EDIT_BY_SSE, date_from, date_to) + end + private def track_unique_action(action, author, time) diff --git a/lib/gitlab/usage_data_counters/guest_package_event_counter.rb b/lib/gitlab/usage_data_counters/guest_package_event_counter.rb new file mode 100644 index 00000000000..a9bcbfadda2 --- /dev/null +++ b/lib/gitlab/usage_data_counters/guest_package_event_counter.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Gitlab + module UsageDataCounters + class GuestPackageEventCounter < BaseCounter + KNOWN_EVENTS_PATH = File.expand_path('counter_events/guest_package_events.yml', __dir__) + KNOWN_EVENTS = YAML.safe_load(File.read(KNOWN_EVENTS_PATH)).freeze + PREFIX = 'package_guest' + end + end +end diff --git a/lib/gitlab/usage_data_counters/guest_package_events.yml b/lib/gitlab/usage_data_counters/guest_package_events.yml new file mode 100644 index 00000000000..a9b9f8ea235 --- /dev/null +++ b/lib/gitlab/usage_data_counters/guest_package_events.yml @@ -0,0 +1,34 @@ +--- +- i_package_composer_guest_delete +- i_package_composer_guest_pull +- i_package_composer_guest_push +- i_package_conan_guest_delete +- i_package_conan_guest_pull +- i_package_conan_guest_push +- i_package_container_guest_delete +- i_package_container_guest_pull +- i_package_container_guest_push +- i_package_debian_guest_delete +- i_package_debian_guest_pull +- i_package_debian_guest_push +- i_package_generic_guest_delete +- i_package_generic_guest_pull +- i_package_generic_guest_push +- i_package_golang_guest_delete +- i_package_golang_guest_pull +- i_package_golang_guest_push +- i_package_maven_guest_delete +- i_package_maven_guest_pull +- i_package_maven_guest_push +- i_package_npm_guest_delete +- i_package_npm_guest_pull +- i_package_npm_guest_push +- i_package_nuget_guest_delete +- i_package_nuget_guest_pull +- i_package_nuget_guest_push +- i_package_pypi_guest_delete +- i_package_pypi_guest_pull +- i_package_pypi_guest_push +- i_package_tag_guest_delete +- i_package_tag_guest_pull +- i_package_tag_guest_push diff --git a/lib/gitlab/usage_data_counters/issue_activity_unique_counter.rb b/lib/gitlab/usage_data_counters/issue_activity_unique_counter.rb index da013a06777..0fed8e1c211 100644 --- a/lib/gitlab/usage_data_counters/issue_activity_unique_counter.rb +++ b/lib/gitlab/usage_data_counters/issue_activity_unique_counter.rb @@ -18,6 +18,7 @@ module Gitlab ISSUE_CROSS_REFERENCED = 'g_project_management_issue_cross_referenced' ISSUE_MOVED = 'g_project_management_issue_moved' ISSUE_RELATED = 'g_project_management_issue_related' + ISSUE_CLONED = 'g_project_management_issue_cloned' ISSUE_UNRELATED = 'g_project_management_issue_unrelated' ISSUE_MARKED_AS_DUPLICATE = 'g_project_management_issue_marked_as_duplicate' ISSUE_LOCKED = 'g_project_management_issue_locked' @@ -137,6 +138,10 @@ module Gitlab track_unique_action(ISSUE_COMMENT_REMOVED, author, time) end + def track_issue_cloned_action(author:, time: Time.zone.now) + track_unique_action(ISSUE_CLONED, author, time) + end + private def track_unique_action(action, author, time) diff --git a/lib/gitlab/usage_data_counters/known_events/common.yml b/lib/gitlab/usage_data_counters/known_events/common.yml index 85f16ea807b..25cf388aedf 100644 --- a/lib/gitlab/usage_data_counters/known_events/common.yml +++ b/lib/gitlab/usage_data_counters/known_events/common.yml @@ -118,6 +118,12 @@ expiry: 29 aggregation: daily feature_flag: track_editor_edit_actions +- name: g_edit_by_sse + category: ide_edit + redis_slot: edit + expiry: 29 + aggregation: daily + feature_flag: track_editor_edit_actions - name: g_edit_by_snippet_ide category: ide_edit redis_slot: edit @@ -145,6 +151,7 @@ - name: design_action category: source_code aggregation: daily + feature_flag: usage_data_design_action - name: project_action category: source_code aggregation: daily @@ -229,6 +236,12 @@ category: incident_management aggregation: weekly feature_flag: usage_data_incident_management_incident_change_confidential +# Incident management alerts +- name: incident_management_alert_create_incident + redis_slot: incident_management + category: incident_management_alerts + aggregation: weekly + feature_flag: usage_data_incident_management_alert_create_incident # Testing category - name: i_testing_test_case_parsed category: testing @@ -396,9 +409,19 @@ redis_slot: project_management aggregation: daily feature_flag: track_issue_activity_actions +- name: g_project_management_issue_cloned + category: issues_edit + redis_slot: project_management + aggregation: daily + feature_flag: track_issue_activity_actions # Secrets Management - name: i_ci_secrets_management_vault_build_created category: ci_secrets_management redis_slot: ci_secrets_management aggregation: weekly feature_flag: usage_data_i_ci_secrets_management_vault_build_created +- name: i_snippets_show + category: snippets + redis_slot: snippets + aggregation: weekly + feature_flag: usage_data_i_snippets_show diff --git a/lib/gitlab/usage_data_counters/known_events/package_events.yml b/lib/gitlab/usage_data_counters/known_events/package_events.yml index 7ed02aa2a85..4c3138dc000 100644 --- a/lib/gitlab/usage_data_counters/known_events/package_events.yml +++ b/lib/gitlab/usage_data_counters/known_events/package_events.yml @@ -1,265 +1,331 @@ --- -- name: i_package_maven_user_push - category: maven_packages - aggregation: weekly - redis_slot: package -- name: i_package_maven_deploy_token_push - category: maven_packages - aggregation: weekly - redis_slot: package -- name: i_package_maven_user_delete - category: maven_packages - aggregation: weekly - redis_slot: package -- name: i_package_maven_deploy_token_delete - category: maven_packages - aggregation: weekly - redis_slot: package -- name: i_package_maven_user_pull - category: maven_packages - aggregation: weekly - redis_slot: package -- name: i_package_maven_deploy_token_pull - category: maven_packages +- name: i_package_composer_deploy_token_delete + category: composer_packages aggregation: weekly redis_slot: package -- name: i_package_npm_user_push - category: npm_packages + feature_flag: collect_package_events_redis +- name: i_package_composer_deploy_token_pull + category: composer_packages aggregation: weekly redis_slot: package -- name: i_package_npm_deploy_token_push - category: npm_packages + feature_flag: collect_package_events_redis +- name: i_package_composer_deploy_token_push + category: composer_packages aggregation: weekly redis_slot: package -- name: i_package_npm_user_delete - category: npm_packages + feature_flag: collect_package_events_redis +- name: i_package_composer_user_delete + category: composer_packages aggregation: weekly redis_slot: package -- name: i_package_npm_deploy_token_delete - category: npm_packages + feature_flag: collect_package_events_redis +- name: i_package_composer_user_pull + category: composer_packages aggregation: weekly redis_slot: package -- name: i_package_npm_user_pull - category: npm_packages + feature_flag: collect_package_events_redis +- name: i_package_composer_user_push + category: composer_packages aggregation: weekly redis_slot: package -- name: i_package_npm_deploy_token_pull - category: npm_packages + feature_flag: collect_package_events_redis +- name: i_package_conan_deploy_token_delete + category: conan_packages aggregation: weekly redis_slot: package -- name: i_package_conan_user_push + feature_flag: collect_package_events_redis +- name: i_package_conan_deploy_token_pull category: conan_packages aggregation: weekly redis_slot: package + feature_flag: collect_package_events_redis - name: i_package_conan_deploy_token_push category: conan_packages aggregation: weekly redis_slot: package + feature_flag: collect_package_events_redis - name: i_package_conan_user_delete category: conan_packages aggregation: weekly redis_slot: package -- name: i_package_conan_deploy_token_delete - category: conan_packages - aggregation: weekly - redis_slot: package + feature_flag: collect_package_events_redis - name: i_package_conan_user_pull category: conan_packages aggregation: weekly redis_slot: package -- name: i_package_conan_deploy_token_pull + feature_flag: collect_package_events_redis +- name: i_package_conan_user_push category: conan_packages aggregation: weekly redis_slot: package -- name: i_package_nuget_user_push - category: nuget_packages - aggregation: weekly - redis_slot: package -- name: i_package_nuget_deploy_token_push - category: nuget_packages - aggregation: weekly - redis_slot: package -- name: i_package_nuget_user_delete - category: nuget_packages - aggregation: weekly - redis_slot: package -- name: i_package_nuget_deploy_token_delete - category: nuget_packages - aggregation: weekly - redis_slot: package -- name: i_package_nuget_user_pull - category: nuget_packages - aggregation: weekly - redis_slot: package -- name: i_package_nuget_deploy_token_pull - category: nuget_packages + feature_flag: collect_package_events_redis +- name: i_package_container_deploy_token_delete + category: container_packages aggregation: weekly redis_slot: package -- name: i_package_pypi_user_push - category: pypi_packages + feature_flag: collect_package_events_redis +- name: i_package_container_deploy_token_pull + category: container_packages aggregation: weekly redis_slot: package -- name: i_package_pypi_deploy_token_push - category: pypi_packages + feature_flag: collect_package_events_redis +- name: i_package_container_deploy_token_push + category: container_packages aggregation: weekly redis_slot: package -- name: i_package_pypi_user_delete - category: pypi_packages + feature_flag: collect_package_events_redis +- name: i_package_container_user_delete + category: container_packages aggregation: weekly redis_slot: package -- name: i_package_pypi_deploy_token_delete - category: pypi_packages + feature_flag: collect_package_events_redis +- name: i_package_container_user_pull + category: container_packages aggregation: weekly redis_slot: package -- name: i_package_pypi_user_pull - category: pypi_packages + feature_flag: collect_package_events_redis +- name: i_package_container_user_push + category: container_packages aggregation: weekly redis_slot: package -- name: i_package_pypi_deploy_token_pull - category: pypi_packages + feature_flag: collect_package_events_redis +- name: i_package_debian_deploy_token_delete + category: debian_packages aggregation: weekly redis_slot: package -- name: i_package_composer_user_push - category: composer_packages + feature_flag: collect_package_events_redis +- name: i_package_debian_deploy_token_pull + category: debian_packages aggregation: weekly redis_slot: package -- name: i_package_composer_deploy_token_push - category: composer_packages + feature_flag: collect_package_events_redis +- name: i_package_debian_deploy_token_push + category: debian_packages aggregation: weekly redis_slot: package -- name: i_package_composer_user_delete - category: composer_packages + feature_flag: collect_package_events_redis +- name: i_package_debian_user_delete + category: debian_packages aggregation: weekly redis_slot: package -- name: i_package_composer_deploy_token_delete - category: composer_packages + feature_flag: collect_package_events_redis +- name: i_package_debian_user_pull + category: debian_packages aggregation: weekly redis_slot: package -- name: i_package_composer_user_pull - category: composer_packages + feature_flag: collect_package_events_redis +- name: i_package_debian_user_push + category: debian_packages aggregation: weekly redis_slot: package -- name: i_package_composer_deploy_token_pull - category: composer_packages + feature_flag: collect_package_events_redis +- name: i_package_generic_deploy_token_delete + category: generic_packages aggregation: weekly redis_slot: package -- name: i_package_generic_user_push + feature_flag: collect_package_events_redis +- name: i_package_generic_deploy_token_pull category: generic_packages aggregation: weekly redis_slot: package + feature_flag: collect_package_events_redis - name: i_package_generic_deploy_token_push category: generic_packages aggregation: weekly redis_slot: package + feature_flag: collect_package_events_redis - name: i_package_generic_user_delete category: generic_packages aggregation: weekly redis_slot: package -- name: i_package_generic_deploy_token_delete + feature_flag: collect_package_events_redis +- name: i_package_generic_user_pull category: generic_packages aggregation: weekly redis_slot: package -- name: i_package_generic_user_pull + feature_flag: collect_package_events_redis +- name: i_package_generic_user_push category: generic_packages aggregation: weekly redis_slot: package -- name: i_package_generic_deploy_token_pull - category: generic_packages + feature_flag: collect_package_events_redis +- name: i_package_golang_deploy_token_delete + category: golang_packages aggregation: weekly redis_slot: package -- name: i_package_golang_user_push + feature_flag: collect_package_events_redis +- name: i_package_golang_deploy_token_pull category: golang_packages aggregation: weekly redis_slot: package + feature_flag: collect_package_events_redis - name: i_package_golang_deploy_token_push category: golang_packages aggregation: weekly redis_slot: package + feature_flag: collect_package_events_redis - name: i_package_golang_user_delete category: golang_packages aggregation: weekly redis_slot: package -- name: i_package_golang_deploy_token_delete + feature_flag: collect_package_events_redis +- name: i_package_golang_user_pull category: golang_packages aggregation: weekly redis_slot: package -- name: i_package_golang_user_pull + feature_flag: collect_package_events_redis +- name: i_package_golang_user_push category: golang_packages aggregation: weekly redis_slot: package -- name: i_package_golang_deploy_token_pull - category: golang_packages + feature_flag: collect_package_events_redis +- name: i_package_maven_deploy_token_delete + category: maven_packages aggregation: weekly redis_slot: package -- name: i_package_debian_user_push - category: debian_packages + feature_flag: collect_package_events_redis +- name: i_package_maven_deploy_token_pull + category: maven_packages aggregation: weekly redis_slot: package -- name: i_package_debian_deploy_token_push - category: debian_packages + feature_flag: collect_package_events_redis +- name: i_package_maven_deploy_token_push + category: maven_packages aggregation: weekly redis_slot: package -- name: i_package_debian_user_delete - category: debian_packages + feature_flag: collect_package_events_redis +- name: i_package_maven_user_delete + category: maven_packages aggregation: weekly redis_slot: package -- name: i_package_debian_deploy_token_delete - category: debian_packages + feature_flag: collect_package_events_redis +- name: i_package_maven_user_pull + category: maven_packages aggregation: weekly redis_slot: package -- name: i_package_debian_user_pull - category: debian_packages + feature_flag: collect_package_events_redis +- name: i_package_maven_user_push + category: maven_packages aggregation: weekly redis_slot: package -- name: i_package_debian_deploy_token_pull - category: debian_packages + feature_flag: collect_package_events_redis +- name: i_package_npm_deploy_token_delete + category: npm_packages aggregation: weekly redis_slot: package -- name: i_package_container_user_push - category: container_packages + feature_flag: collect_package_events_redis +- name: i_package_npm_deploy_token_pull + category: npm_packages aggregation: weekly redis_slot: package -- name: i_package_container_deploy_token_push - category: container_packages + feature_flag: collect_package_events_redis +- name: i_package_npm_deploy_token_push + category: npm_packages aggregation: weekly redis_slot: package -- name: i_package_container_user_delete - category: container_packages + feature_flag: collect_package_events_redis +- name: i_package_npm_user_delete + category: npm_packages aggregation: weekly redis_slot: package -- name: i_package_container_deploy_token_delete - category: container_packages + feature_flag: collect_package_events_redis +- name: i_package_npm_user_pull + category: npm_packages aggregation: weekly redis_slot: package -- name: i_package_container_user_pull - category: container_packages + feature_flag: collect_package_events_redis +- name: i_package_npm_user_push + category: npm_packages aggregation: weekly redis_slot: package -- name: i_package_container_deploy_token_pull - category: container_packages + feature_flag: collect_package_events_redis +- name: i_package_nuget_deploy_token_delete + category: nuget_packages aggregation: weekly redis_slot: package -- name: i_package_tag_user_push + feature_flag: collect_package_events_redis +- name: i_package_nuget_deploy_token_pull + category: nuget_packages + aggregation: weekly + redis_slot: package + feature_flag: collect_package_events_redis +- name: i_package_nuget_deploy_token_push + category: nuget_packages + aggregation: weekly + redis_slot: package + feature_flag: collect_package_events_redis +- name: i_package_nuget_user_delete + category: nuget_packages + aggregation: weekly + redis_slot: package + feature_flag: collect_package_events_redis +- name: i_package_nuget_user_pull + category: nuget_packages + aggregation: weekly + redis_slot: package + feature_flag: collect_package_events_redis +- name: i_package_nuget_user_push + category: nuget_packages + aggregation: weekly + redis_slot: package + feature_flag: collect_package_events_redis +- name: i_package_pypi_deploy_token_delete + category: pypi_packages + aggregation: weekly + redis_slot: package + feature_flag: collect_package_events_redis +- name: i_package_pypi_deploy_token_pull + category: pypi_packages + aggregation: weekly + redis_slot: package + feature_flag: collect_package_events_redis +- name: i_package_pypi_deploy_token_push + category: pypi_packages + aggregation: weekly + redis_slot: package + feature_flag: collect_package_events_redis +- name: i_package_pypi_user_delete + category: pypi_packages + aggregation: weekly + redis_slot: package + feature_flag: collect_package_events_redis +- name: i_package_pypi_user_pull + category: pypi_packages + aggregation: weekly + redis_slot: package + feature_flag: collect_package_events_redis +- name: i_package_pypi_user_push + category: pypi_packages + aggregation: weekly + redis_slot: package + feature_flag: collect_package_events_redis +- name: i_package_tag_deploy_token_delete category: tag_packages aggregation: weekly redis_slot: package -- name: i_package_tag_deploy_token_push + feature_flag: collect_package_events_redis +- name: i_package_tag_deploy_token_pull category: tag_packages aggregation: weekly redis_slot: package -- name: i_package_tag_user_delete + feature_flag: collect_package_events_redis +- name: i_package_tag_deploy_token_push category: tag_packages aggregation: weekly redis_slot: package -- name: i_package_tag_deploy_token_delete + feature_flag: collect_package_events_redis +- name: i_package_tag_user_delete category: tag_packages aggregation: weekly redis_slot: package + feature_flag: collect_package_events_redis - name: i_package_tag_user_pull category: tag_packages aggregation: weekly redis_slot: package -- name: i_package_tag_deploy_token_pull + feature_flag: collect_package_events_redis +- name: i_package_tag_user_push category: tag_packages aggregation: weekly redis_slot: package + feature_flag: collect_package_events_redis diff --git a/lib/gitlab/usage_data_counters/search_counter.rb b/lib/gitlab/usage_data_counters/search_counter.rb index 61f98887adc..46aec52b95a 100644 --- a/lib/gitlab/usage_data_counters/search_counter.rb +++ b/lib/gitlab/usage_data_counters/search_counter.rb @@ -4,6 +4,7 @@ module Gitlab module UsageDataCounters class SearchCounter < BaseCounter KNOWN_EVENTS = %w[all_searches navbar_searches].freeze + PREFIX = nil class << self def redis_key(event) |