diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-28 18:08:36 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-28 18:08:36 +0300 |
commit | fedf978f9aa1909ed7bb3fad767ad120a1c6bd7b (patch) | |
tree | 1bd0f0b301ad96feda1910abe34eb89c46cc55cd /app | |
parent | db24ab2b72dbff24c201410a0561e929ae7e8061 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/admin/application_settings_controller.rb | 10 | ||||
-rw-r--r-- | app/finders/issuable_finder.rb | 25 | ||||
-rw-r--r-- | app/helpers/application_settings_helper.rb | 4 | ||||
-rw-r--r-- | app/models/application_setting.rb | 4 | ||||
-rw-r--r-- | app/models/clusters/applications/knative.rb | 2 | ||||
-rw-r--r-- | app/models/concerns/issuable.rb | 9 | ||||
-rw-r--r-- | app/models/project_services/prometheus_service.rb | 2 | ||||
-rw-r--r-- | app/models/serverless/domain_cluster.rb | 2 | ||||
-rw-r--r-- | app/workers/all_queues.yml | 1218 |
9 files changed, 1081 insertions, 195 deletions
diff --git a/app/controllers/admin/application_settings_controller.rb b/app/controllers/admin/application_settings_controller.rb index 3047ee02680..20daf6d71b3 100644 --- a/app/controllers/admin/application_settings_controller.rb +++ b/app/controllers/admin/application_settings_controller.rb @@ -98,7 +98,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController } end - if Gitlab::CurrentSettings.instance_administration_project_id.present? + if Gitlab::CurrentSettings.self_monitoring_project_id.present? return render status: :ok, json: self_monitoring_data elsif SelfMonitoringProjectCreateWorker.in_progress?(job_id) @@ -134,7 +134,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController } end - if Gitlab::CurrentSettings.instance_administration_project_id.nil? + if Gitlab::CurrentSettings.self_monitoring_project_id.nil? return render status: :ok, json: { message: _('Self-monitoring project has been successfully deleted') } @@ -161,8 +161,8 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController def self_monitoring_data { - project_id: Gitlab::CurrentSettings.instance_administration_project_id, - project_full_path: Gitlab::CurrentSettings.instance_administration_project&.full_path + project_id: Gitlab::CurrentSettings.self_monitoring_project_id, + project_full_path: Gitlab::CurrentSettings.self_monitoring_project&.full_path } end @@ -171,7 +171,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController status: :not_implemented, json: { message: _('Self-monitoring is not enabled on this GitLab server, contact your administrator.'), - documentation_url: help_page_path('administration/monitoring/gitlab_instance_administration_project/index') + documentation_url: help_page_path('administration/monitoring/gitlab_self_monitoring_project/index') } ) end diff --git a/app/finders/issuable_finder.rb b/app/finders/issuable_finder.rb index 194d7da1cab..6d5b1ca3bc5 100644 --- a/app/finders/issuable_finder.rb +++ b/app/finders/issuable_finder.rb @@ -314,18 +314,21 @@ class IssuableFinder params[:assignee_username].present? end - # rubocop: disable CodeReuse/ActiveRecord def assignee - return @assignee if defined?(@assignee) + assignees.first + end - @assignee = + # rubocop: disable CodeReuse/ActiveRecord + def assignees + strong_memoize(:assignees) do if assignee_id? - User.find_by(id: params[:assignee_id]) + User.where(id: params[:assignee_id]) elsif assignee_username? - User.find_by_username(params[:assignee_username]) + User.where(username: params[:assignee_username]) else - nil + User.none end + end end # rubocop: enable CodeReuse/ActiveRecord @@ -415,7 +418,7 @@ class IssuableFinder # These are "helper" params that are required inside the NOT to get the right results. They usually come in # at the top-level params, but if they do come in inside the `:not` params, they should take precedence. not_helpers = params.slice(*NEGATABLE_PARAMS_HELPER_KEYS).merge(params[:not].slice(*NEGATABLE_PARAMS_HELPER_KEYS)) - not_param = { key => value }.with_indifferent_access.merge(not_helpers) + not_param = { key => value }.with_indifferent_access.merge(not_helpers).merge(not_query: true) items_to_negate = self.class.new(current_user, not_param).execute @@ -543,6 +546,8 @@ class IssuableFinder # rubocop: enable CodeReuse/ActiveRecord def by_assignee(items) + return items.assigned_to(assignees) if not_query? && assignees.any? + if filter_by_no_assignee? items.unassigned elsif filter_by_any_assignee? @@ -624,7 +629,7 @@ class IssuableFinder elsif filter_by_any_label? items.any_label else - items.with_label(label_names, params[:sort]) + items.with_label(label_names, params[:sort], not_query: not_query?) end items @@ -673,4 +678,8 @@ class IssuableFinder def min_access_level ProjectFeature.required_minimum_access_level(klass) end + + def not_query? + !!params[:not_query] + end end diff --git a/app/helpers/application_settings_helper.rb b/app/helpers/application_settings_helper.rb index 0e14db6ddbf..3d2304ed42b 100644 --- a/app/helpers/application_settings_helper.rb +++ b/app/helpers/application_settings_helper.rb @@ -351,10 +351,10 @@ module ApplicationSettingsHelper status_delete_self_monitoring_project_admin_application_settings_path, 'self_monitoring_project_exists' => - Gitlab::CurrentSettings.instance_administration_project.present?.to_s, + Gitlab::CurrentSettings.self_monitoring_project.present?.to_s, 'self_monitoring_project_full_path' => - Gitlab::CurrentSettings.instance_administration_project&.full_path + Gitlab::CurrentSettings.self_monitoring_project&.full_path } end end diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb index 0bea5d7b399..ddd43311d9b 100644 --- a/app/models/application_setting.rb +++ b/app/models/application_setting.rb @@ -10,7 +10,9 @@ class ApplicationSetting < ApplicationRecord add_authentication_token_field :health_check_access_token add_authentication_token_field :static_objects_external_storage_auth_token - belongs_to :instance_administration_project, class_name: "Project" + belongs_to :self_monitoring_project, class_name: "Project", foreign_key: 'instance_administration_project_id' + alias_attribute :self_monitoring_project_id, :instance_administration_project_id + belongs_to :instance_administrators_group, class_name: "Group" # Include here so it can override methods from diff --git a/app/models/clusters/applications/knative.rb b/app/models/clusters/applications/knative.rb index 387503bee54..2602bb2cf97 100644 --- a/app/models/clusters/applications/knative.rb +++ b/app/models/clusters/applications/knative.rb @@ -11,7 +11,7 @@ module Clusters self.table_name = 'clusters_applications_knative' - has_one :serverless_domain_cluster, class_name: 'Serverless::DomainCluster', foreign_key: 'clusters_applications_knative_id', inverse_of: :knative + has_one :serverless_domain_cluster, class_name: '::Serverless::DomainCluster', foreign_key: 'clusters_applications_knative_id', inverse_of: :knative include ::Clusters::Concerns::ApplicationCore include ::Clusters::Concerns::ApplicationStatus diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb index fe0fad4b9d5..653dc9c0b47 100644 --- a/app/models/concerns/issuable.rb +++ b/app/models/concerns/issuable.rb @@ -108,7 +108,9 @@ module Issuable where("NOT EXISTS (SELECT TRUE FROM #{to_ability_name}_assignees WHERE #{to_ability_name}_id = #{to_ability_name}s.id)") end scope :assigned_to, ->(u) do - where("EXISTS (SELECT TRUE FROM #{to_ability_name}_assignees WHERE user_id = ? AND #{to_ability_name}_id = #{to_ability_name}s.id)", u.id) + assignees_table = Arel::Table.new("#{to_ability_name}_assignees") + sql = assignees_table.project('true').where(assignees_table[:user_id].in(u)).where(Arel::Nodes::SqlLiteral.new("#{to_ability_name}_id = #{to_ability_name}s.id")) + where("EXISTS (#{sql.to_sql})") end # rubocop:enable GitlabSecurity/SqlInjection @@ -263,8 +265,9 @@ module Issuable .reorder(Gitlab::Database.nulls_last_order('highest_priority', direction)) end - def with_label(title, sort = nil) - if title.is_a?(Array) && title.size > 1 + def with_label(title, sort = nil, not_query: false) + multiple_labels = title.is_a?(Array) && title.size > 1 + if multiple_labels && !not_query joins(:labels).where(labels: { title: title }).group(*grouping_columns(sort)).having("COUNT(DISTINCT labels.title) = #{title.size}") else joins(:labels).where(labels: { title: title }) diff --git a/app/models/project_services/prometheus_service.rb b/app/models/project_services/prometheus_service.rb index 3d5967de41e..00b06ae2595 100644 --- a/app/models/project_services/prometheus_service.rb +++ b/app/models/project_services/prometheus_service.rb @@ -102,7 +102,7 @@ class PrometheusService < MonitoringService private def self_monitoring_project? - project && project.id == current_settings.instance_administration_project_id + project && project.id == current_settings.self_monitoring_project_id end def internal_prometheus_url? diff --git a/app/models/serverless/domain_cluster.rb b/app/models/serverless/domain_cluster.rb index 44463a56327..9a1acf7e5c3 100644 --- a/app/models/serverless/domain_cluster.rb +++ b/app/models/serverless/domain_cluster.rb @@ -15,5 +15,7 @@ module Serverless format: { with: HEX_REGEXP, message: 'only allows hex characters' } default_value_for(:uuid, allows_nil: false) { Gitlab::Serverless::Domain.generate_uuid } + + delegate :domain, to: :pages_domain end end diff --git a/app/workers/all_queues.yml b/app/workers/all_queues.yml index 1e7b5a1cf65..81be0bca33b 100644 --- a/app/workers/all_queues.yml +++ b/app/workers/all_queues.yml @@ -3,177 +3,1047 @@ # # Do not edit it manually! --- -- auto_devops:auto_devops_disable -- auto_merge:auto_merge_process -- chaos:chaos_cpu_spin -- chaos:chaos_db_spin -- chaos:chaos_kill -- chaos:chaos_leak_mem -- chaos:chaos_sleep -- container_repository:cleanup_container_repository -- container_repository:delete_container_repository -- cronjob:admin_email -- cronjob:ci_archive_traces_cron -- cronjob:container_expiration_policy -- cronjob:expire_build_artifacts -- cronjob:gitlab_usage_ping -- cronjob:import_export_project_cleanup -- cronjob:issue_due_scheduler -- cronjob:namespaces_prune_aggregation_schedules -- cronjob:pages_domain_removal_cron -- cronjob:pages_domain_ssl_renewal_cron -- cronjob:pages_domain_verification_cron -- cronjob:personal_access_tokens_expiring -- cronjob:pipeline_schedule -- cronjob:prune_old_events -- cronjob:prune_web_hook_logs -- cronjob:remove_expired_group_links -- cronjob:remove_expired_members -- cronjob:remove_unreferenced_lfs_objects -- cronjob:repository_archive_cache -- cronjob:repository_check_dispatch -- cronjob:requests_profiles -- cronjob:schedule_migrate_external_diffs -- cronjob:stuck_ci_jobs -- cronjob:stuck_import_jobs -- cronjob:stuck_merge_jobs -- cronjob:trending_projects -- deployment:deployments_finished -- deployment:deployments_success -- gcp_cluster:cluster_configure -- gcp_cluster:cluster_install_app -- gcp_cluster:cluster_patch_app -- gcp_cluster:cluster_project_configure -- gcp_cluster:cluster_provision -- gcp_cluster:cluster_upgrade_app -- gcp_cluster:cluster_wait_for_app_installation -- gcp_cluster:cluster_wait_for_ingress_ip_address -- gcp_cluster:clusters_applications_activate_service -- gcp_cluster:clusters_applications_deactivate_service -- gcp_cluster:clusters_applications_uninstall -- gcp_cluster:clusters_applications_wait_for_uninstall_app -- gcp_cluster:clusters_cleanup_app -- gcp_cluster:clusters_cleanup_project_namespace -- gcp_cluster:clusters_cleanup_service_account -- gcp_cluster:wait_for_cluster_creation -- github_importer:github_import_import_diff_note -- github_importer:github_import_import_issue -- github_importer:github_import_import_lfs_object -- github_importer:github_import_import_note -- github_importer:github_import_import_pull_request -- github_importer:github_import_refresh_import_jid -- github_importer:github_import_stage_finish_import -- github_importer:github_import_stage_import_base_data -- github_importer:github_import_stage_import_issues_and_diff_notes -- github_importer:github_import_stage_import_lfs_objects -- github_importer:github_import_stage_import_notes -- github_importer:github_import_stage_import_pull_requests -- github_importer:github_import_stage_import_repository -- hashed_storage:hashed_storage_migrator -- hashed_storage:hashed_storage_project_migrate -- hashed_storage:hashed_storage_project_rollback -- hashed_storage:hashed_storage_rollbacker -- mail_scheduler:mail_scheduler_issue_due -- mail_scheduler:mail_scheduler_notification_service -- notifications:new_release -- object_pool:object_pool_create -- object_pool:object_pool_destroy -- object_pool:object_pool_join -- object_pool:object_pool_schedule_join -- object_storage:object_storage_background_move -- object_storage:object_storage_migrate_uploads -- pipeline_background:archive_trace -- pipeline_background:ci_build_trace_chunk_flush -- pipeline_cache:expire_job_cache -- pipeline_cache:expire_pipeline_cache -- pipeline_creation:create_pipeline -- pipeline_creation:run_pipeline_schedule -- pipeline_default:build_coverage -- pipeline_default:build_trace_sections -- pipeline_default:pipeline_metrics -- pipeline_default:pipeline_notification -- pipeline_hooks:build_hooks -- pipeline_hooks:pipeline_hooks -- pipeline_processing:build_finished -- pipeline_processing:build_queue -- pipeline_processing:build_success -- pipeline_processing:ci_build_prepare -- pipeline_processing:ci_build_schedule -- pipeline_processing:ci_resource_groups_assign_resource_from_resource_group -- pipeline_processing:pipeline_process -- pipeline_processing:pipeline_success -- pipeline_processing:pipeline_update -- pipeline_processing:stage_update -- pipeline_processing:update_head_pipeline_for_merge_request -- repository_check:repository_check_batch -- repository_check:repository_check_clear -- repository_check:repository_check_single_repository -- todos_destroyer:todos_destroyer_confidential_issue -- todos_destroyer:todos_destroyer_entity_leave -- todos_destroyer:todos_destroyer_group_private -- todos_destroyer:todos_destroyer_private_features -- todos_destroyer:todos_destroyer_project_private -- update_namespace_statistics:namespaces_root_statistics -- update_namespace_statistics:namespaces_schedule_aggregation -- authorized_projects -- background_migration -- chat_notification -- create_evidence -- create_gpg_signature -- create_note_diff_file -- default -- delete_diff_files -- delete_merged_branches -- delete_stored_files -- delete_user -- detect_repository_languages -- email_receiver -- emails_on_push -- error_tracking_issue_link -- expire_build_instance_artifacts -- file_hook -- git_garbage_collect -- github_import_advance_stage -- gitlab_shell -- group_destroy -- group_export -- group_import -- import_issues_csv -- invalid_gpg_signature_update -- irker -- mailers -- merge -- merge_request_mergeability_check -- migrate_external_diffs -- namespaceless_project_destroy -- new_issue -- new_merge_request -- new_note -- pages -- pages_domain_ssl_renewal -- pages_domain_verification -- phabricator_import_import_tasks -- post_receive -- process_commit -- project_cache -- project_daily_statistics -- project_destroy -- project_export -- project_service -- propagate_service_template -- reactive_caching -- rebase -- remote_mirror_notification -- repository_cleanup -- repository_fork -- repository_import -- repository_remove_remote -- repository_update_remote_mirror -- self_monitoring_project_create -- self_monitoring_project_delete -- system_hook_push -- update_external_pull_requests -- update_merge_requests -- update_project_statistics -- upload_checksum -- web_hook +- :name: auto_devops:auto_devops_disable + :feature_category: :auto_devops + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: auto_merge:auto_merge_process + :feature_category: :continuous_delivery + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 3 +- :name: chaos:chaos_cpu_spin + :feature_category: :chaos_engineering + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: chaos:chaos_db_spin + :feature_category: :chaos_engineering + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: chaos:chaos_kill + :feature_category: :chaos_engineering + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: chaos:chaos_leak_mem + :feature_category: :chaos_engineering + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: chaos:chaos_sleep + :feature_category: :chaos_engineering + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: container_repository:cleanup_container_repository + :feature_category: :container_registry + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: container_repository:delete_container_repository + :feature_category: :container_registry + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:admin_email + :feature_category: :not_owned + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:ci_archive_traces_cron + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:container_expiration_policy + :feature_category: :container_registry + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:expire_build_artifacts + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:gitlab_usage_ping + :feature_category: :not_owned + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:import_export_project_cleanup + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:issue_due_scheduler + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:namespaces_prune_aggregation_schedules + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 1 +- :name: cronjob:pages_domain_removal_cron + :feature_category: :pages + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 1 +- :name: cronjob:pages_domain_ssl_renewal_cron + :feature_category: :pages + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:pages_domain_verification_cron + :feature_category: :pages + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:personal_access_tokens_expiring + :feature_category: :authentication_and_authorization + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:pipeline_schedule + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 1 +- :name: cronjob:prune_old_events + :feature_category: :not_owned + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:prune_web_hook_logs + :feature_category: :integrations + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:remove_expired_group_links + :feature_category: :authentication_and_authorization + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:remove_expired_members + :feature_category: :authentication_and_authorization + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 1 +- :name: cronjob:remove_unreferenced_lfs_objects + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:repository_archive_cache + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:repository_check_dispatch + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:requests_profiles + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:schedule_migrate_external_diffs + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:stuck_ci_jobs + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 1 +- :name: cronjob:stuck_import_jobs + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 1 +- :name: cronjob:stuck_merge_jobs + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: cronjob:trending_projects + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: deployment:deployments_finished + :feature_category: :continuous_delivery + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 3 +- :name: deployment:deployments_success + :feature_category: :continuous_delivery + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 3 +- :name: gcp_cluster:cluster_configure + :feature_category: :kubernetes_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:cluster_install_app + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:cluster_patch_app + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:cluster_project_configure + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:cluster_provision + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:cluster_upgrade_app + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:cluster_wait_for_app_installation + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :cpu + :weight: 1 +- :name: gcp_cluster:cluster_wait_for_ingress_ip_address + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:clusters_applications_activate_service + :feature_category: :kubernetes_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:clusters_applications_deactivate_service + :feature_category: :kubernetes_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:clusters_applications_uninstall + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:clusters_applications_wait_for_uninstall_app + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :cpu + :weight: 1 +- :name: gcp_cluster:clusters_cleanup_app + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:clusters_cleanup_project_namespace + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:clusters_cleanup_service_account + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gcp_cluster:wait_for_cluster_creation + :feature_category: :kubernetes_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_import_diff_note + :feature_category: :importers + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_import_issue + :feature_category: :importers + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_import_lfs_object + :feature_category: :importers + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_import_note + :feature_category: :importers + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_import_pull_request + :feature_category: :importers + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_refresh_import_jid + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_stage_finish_import + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_stage_import_base_data + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_stage_import_issues_and_diff_notes + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_stage_import_lfs_objects + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_stage_import_notes + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_stage_import_pull_requests + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_importer:github_import_stage_import_repository + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: hashed_storage:hashed_storage_migrator + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: hashed_storage:hashed_storage_project_migrate + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: hashed_storage:hashed_storage_project_rollback + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: hashed_storage:hashed_storage_rollbacker + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: mail_scheduler:mail_scheduler_issue_due + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: mail_scheduler:mail_scheduler_notification_service + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 2 +- :name: notifications:new_release + :feature_category: :release_orchestration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: object_pool:object_pool_create + :feature_category: :gitaly + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: object_pool:object_pool_destroy + :feature_category: :gitaly + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: object_pool:object_pool_join + :feature_category: :gitaly + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 1 +- :name: object_pool:object_pool_schedule_join + :feature_category: :gitaly + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: object_storage:object_storage_background_move + :feature_category: :not_owned + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: object_storage:object_storage_migrate_uploads + :feature_category: :not_owned + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: pipeline_background:archive_trace + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: pipeline_background:ci_build_trace_chunk_flush + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: pipeline_cache:expire_job_cache + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 3 +- :name: pipeline_cache:expire_pipeline_cache + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 3 +- :name: pipeline_creation:create_pipeline + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 4 +- :name: pipeline_creation:run_pipeline_schedule + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 4 +- :name: pipeline_default:build_coverage + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 3 +- :name: pipeline_default:build_trace_sections + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 3 +- :name: pipeline_default:pipeline_metrics + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 3 +- :name: pipeline_default:pipeline_notification + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 3 +- :name: pipeline_hooks:build_hooks + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 2 +- :name: pipeline_hooks:pipeline_hooks + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 2 +- :name: pipeline_processing:build_finished + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 5 +- :name: pipeline_processing:build_queue + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 5 +- :name: pipeline_processing:build_success + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 5 +- :name: pipeline_processing:ci_build_prepare + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 5 +- :name: pipeline_processing:ci_build_schedule + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 5 +- :name: pipeline_processing:ci_resource_groups_assign_resource_from_resource_group + :feature_category: :continuous_delivery + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 5 +- :name: pipeline_processing:pipeline_process + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 5 +- :name: pipeline_processing:pipeline_success + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 5 +- :name: pipeline_processing:pipeline_update + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 5 +- :name: pipeline_processing:stage_update + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 5 +- :name: pipeline_processing:update_head_pipeline_for_merge_request + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 5 +- :name: repository_check:repository_check_batch + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: repository_check:repository_check_clear + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: repository_check:repository_check_single_repository + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: todos_destroyer:todos_destroyer_confidential_issue + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: todos_destroyer:todos_destroyer_entity_leave + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: todos_destroyer:todos_destroyer_group_private + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: todos_destroyer:todos_destroyer_private_features + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: todos_destroyer:todos_destroyer_project_private + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: update_namespace_statistics:namespaces_root_statistics + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: update_namespace_statistics:namespaces_schedule_aggregation + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: authorized_projects + :feature_category: :authentication_and_authorization + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 2 +- :name: background_migration + :feature_category: :not_owned + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: chat_notification + :feature_category: :chatops + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 2 +- :name: create_evidence + :feature_category: :release_governance + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: create_gpg_signature + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: create_note_diff_file + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: default + :feature_category: + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: + :weight: 1 +- :name: delete_diff_files + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: delete_merged_branches + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: delete_stored_files + :feature_category: :not_owned + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: delete_user + :feature_category: :authentication_and_authorization + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: detect_repository_languages + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: email_receiver + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 2 +- :name: emails_on_push + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 2 +- :name: error_tracking_issue_link + :feature_category: :error_tracking + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: expire_build_instance_artifacts + :feature_category: :continuous_integration + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: file_hook + :feature_category: :integrations + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: git_garbage_collect + :feature_category: :gitaly + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: github_import_advance_stage + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: gitlab_shell + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 2 +- :name: group_destroy + :feature_category: :subgroups + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: group_export + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: group_import + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: import_issues_csv + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :cpu + :weight: 2 +- :name: invalid_gpg_signature_update + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: irker + :feature_category: :integrations + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: mailers + :feature_category: + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: + :weight: 2 +- :name: merge + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 5 +- :name: merge_request_mergeability_check + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: migrate_external_diffs + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: namespaceless_project_destroy + :feature_category: :authentication_and_authorization + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: new_issue + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 2 +- :name: new_merge_request + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 2 +- :name: new_note + :feature_category: :issue_tracking + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 2 +- :name: pages + :feature_category: :pages + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: pages_domain_ssl_renewal + :feature_category: :pages + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: pages_domain_verification + :feature_category: :pages + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: phabricator_import_import_tasks + :feature_category: :importers + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: post_receive + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 5 +- :name: process_commit + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 3 +- :name: project_cache + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :unknown + :weight: 1 +- :name: project_daily_statistics + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: project_destroy + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: project_export + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :memory + :weight: 1 +- :name: project_service + :feature_category: :integrations + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: propagate_service_template + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: reactive_caching + :feature_category: :not_owned + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 1 +- :name: rebase + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: remote_mirror_notification + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: repository_cleanup + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: repository_fork + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: repository_import + :feature_category: :importers + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: repository_remove_remote + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: repository_update_remote_mirror + :feature_category: :source_code_management + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: self_monitoring_project_create + :feature_category: :metrics + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: self_monitoring_project_delete + :feature_category: :metrics + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 2 +- :name: system_hook_push + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: update_external_pull_requests + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 3 +- :name: update_merge_requests + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: true + :resource_boundary: :cpu + :weight: 3 +- :name: update_project_statistics + :feature_category: :source_code_management + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: upload_checksum + :feature_category: :geo_replication + :has_external_dependencies: + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 +- :name: web_hook + :feature_category: :integrations + :has_external_dependencies: true + :latency_sensitive: + :resource_boundary: :unknown + :weight: 1 |