Commit 4ffc1a8b authored by Peter Leitzen's avatar Peter Leitzen

Merge branch 'add-annotations-to-all-queues-yml' into 'master'

Add annotations to all_queues.yml

Closes gitlab-com/gl-infra/scalability#26

See merge request gitlab-org/gitlab!23771
parents e9d1ccaa 13c3ff2f
...@@ -3,177 +3,1047 @@ ...@@ -3,177 +3,1047 @@
# #
# Do not edit it manually! # Do not edit it manually!
--- ---
- auto_devops:auto_devops_disable - :name: auto_devops:auto_devops_disable
- auto_merge:auto_merge_process :feature_category: :auto_devops
- chaos:chaos_cpu_spin :has_external_dependencies:
- chaos:chaos_db_spin :latency_sensitive:
- chaos:chaos_kill :resource_boundary: :unknown
- chaos:chaos_leak_mem :weight: 2
- chaos:chaos_sleep - :name: auto_merge:auto_merge_process
- container_repository:cleanup_container_repository :feature_category: :continuous_delivery
- container_repository:delete_container_repository :has_external_dependencies:
- cronjob:admin_email :latency_sensitive:
- cronjob:ci_archive_traces_cron :resource_boundary: :unknown
- cronjob:container_expiration_policy :weight: 3
- cronjob:expire_build_artifacts - :name: chaos:chaos_cpu_spin
- cronjob:gitlab_usage_ping :feature_category: :chaos_engineering
- cronjob:import_export_project_cleanup :has_external_dependencies:
- cronjob:issue_due_scheduler :latency_sensitive:
- cronjob:namespaces_prune_aggregation_schedules :resource_boundary: :unknown
- cronjob:pages_domain_removal_cron :weight: 2
- cronjob:pages_domain_ssl_renewal_cron - :name: chaos:chaos_db_spin
- cronjob:pages_domain_verification_cron :feature_category: :chaos_engineering
- cronjob:personal_access_tokens_expiring :has_external_dependencies:
- cronjob:pipeline_schedule :latency_sensitive:
- cronjob:prune_old_events :resource_boundary: :unknown
- cronjob:prune_web_hook_logs :weight: 2
- cronjob:remove_expired_group_links - :name: chaos:chaos_kill
- cronjob:remove_expired_members :feature_category: :chaos_engineering
- cronjob:remove_unreferenced_lfs_objects :has_external_dependencies:
- cronjob:repository_archive_cache :latency_sensitive:
- cronjob:repository_check_dispatch :resource_boundary: :unknown
- cronjob:requests_profiles :weight: 2
- cronjob:schedule_migrate_external_diffs - :name: chaos:chaos_leak_mem
- cronjob:stuck_ci_jobs :feature_category: :chaos_engineering
- cronjob:stuck_import_jobs :has_external_dependencies:
- cronjob:stuck_merge_jobs :latency_sensitive:
- cronjob:trending_projects :resource_boundary: :unknown
- deployment:deployments_finished :weight: 2
- deployment:deployments_success - :name: chaos:chaos_sleep
- gcp_cluster:cluster_configure :feature_category: :chaos_engineering
- gcp_cluster:cluster_install_app :has_external_dependencies:
- gcp_cluster:cluster_patch_app :latency_sensitive:
- gcp_cluster:cluster_project_configure :resource_boundary: :unknown
- gcp_cluster:cluster_provision :weight: 2
- gcp_cluster:cluster_upgrade_app - :name: container_repository:cleanup_container_repository
- gcp_cluster:cluster_wait_for_app_installation :feature_category: :container_registry
- gcp_cluster:cluster_wait_for_ingress_ip_address :has_external_dependencies:
- gcp_cluster:clusters_applications_activate_service :latency_sensitive:
- gcp_cluster:clusters_applications_deactivate_service :resource_boundary: :unknown
- gcp_cluster:clusters_applications_uninstall :weight: 1
- gcp_cluster:clusters_applications_wait_for_uninstall_app - :name: container_repository:delete_container_repository
- gcp_cluster:clusters_cleanup_app :feature_category: :container_registry
- gcp_cluster:clusters_cleanup_project_namespace :has_external_dependencies:
- gcp_cluster:clusters_cleanup_service_account :latency_sensitive:
- gcp_cluster:wait_for_cluster_creation :resource_boundary: :unknown
- github_importer:github_import_import_diff_note :weight: 1
- github_importer:github_import_import_issue - :name: cronjob:admin_email
- github_importer:github_import_import_lfs_object :feature_category: :not_owned
- github_importer:github_import_import_note :has_external_dependencies:
- github_importer:github_import_import_pull_request :latency_sensitive:
- github_importer:github_import_refresh_import_jid :resource_boundary: :unknown
- github_importer:github_import_stage_finish_import :weight: 1
- github_importer:github_import_stage_import_base_data - :name: cronjob:ci_archive_traces_cron
- github_importer:github_import_stage_import_issues_and_diff_notes :feature_category: :continuous_integration
- github_importer:github_import_stage_import_lfs_objects :has_external_dependencies:
- github_importer:github_import_stage_import_notes :latency_sensitive:
- github_importer:github_import_stage_import_pull_requests :resource_boundary: :unknown
- github_importer:github_import_stage_import_repository :weight: 1
- hashed_storage:hashed_storage_migrator - :name: cronjob:container_expiration_policy
- hashed_storage:hashed_storage_project_migrate :feature_category: :container_registry
- hashed_storage:hashed_storage_project_rollback :has_external_dependencies:
- hashed_storage:hashed_storage_rollbacker :latency_sensitive:
- mail_scheduler:mail_scheduler_issue_due :resource_boundary: :unknown
- mail_scheduler:mail_scheduler_notification_service :weight: 1
- notifications:new_release - :name: cronjob:expire_build_artifacts
- object_pool:object_pool_create :feature_category: :continuous_integration
- object_pool:object_pool_destroy :has_external_dependencies:
- object_pool:object_pool_join :latency_sensitive:
- object_pool:object_pool_schedule_join :resource_boundary: :unknown
- object_storage:object_storage_background_move :weight: 1
- object_storage:object_storage_migrate_uploads - :name: cronjob:gitlab_usage_ping
- pipeline_background:archive_trace :feature_category: :not_owned
- pipeline_background:ci_build_trace_chunk_flush :has_external_dependencies:
- pipeline_cache:expire_job_cache :latency_sensitive:
- pipeline_cache:expire_pipeline_cache :resource_boundary: :unknown
- pipeline_creation:create_pipeline :weight: 1
- pipeline_creation:run_pipeline_schedule - :name: cronjob:import_export_project_cleanup
- pipeline_default:build_coverage :feature_category: :importers
- pipeline_default:build_trace_sections :has_external_dependencies:
- pipeline_default:pipeline_metrics :latency_sensitive:
- pipeline_default:pipeline_notification :resource_boundary: :unknown
- pipeline_hooks:build_hooks :weight: 1
- pipeline_hooks:pipeline_hooks - :name: cronjob:issue_due_scheduler
- pipeline_processing:build_finished :feature_category: :issue_tracking
- pipeline_processing:build_queue :has_external_dependencies:
- pipeline_processing:build_success :latency_sensitive:
- pipeline_processing:ci_build_prepare :resource_boundary: :unknown
- pipeline_processing:ci_build_schedule :weight: 1
- pipeline_processing:ci_resource_groups_assign_resource_from_resource_group - :name: cronjob:namespaces_prune_aggregation_schedules
- pipeline_processing:pipeline_process :feature_category: :source_code_management
- pipeline_processing:pipeline_success :has_external_dependencies:
- pipeline_processing:pipeline_update :latency_sensitive:
- pipeline_processing:stage_update :resource_boundary: :cpu
- pipeline_processing:update_head_pipeline_for_merge_request :weight: 1
- repository_check:repository_check_batch - :name: cronjob:pages_domain_removal_cron
- repository_check:repository_check_clear :feature_category: :pages
- repository_check:repository_check_single_repository :has_external_dependencies:
- todos_destroyer:todos_destroyer_confidential_issue :latency_sensitive:
- todos_destroyer:todos_destroyer_entity_leave :resource_boundary: :cpu
- todos_destroyer:todos_destroyer_group_private :weight: 1
- todos_destroyer:todos_destroyer_private_features - :name: cronjob:pages_domain_ssl_renewal_cron
- todos_destroyer:todos_destroyer_project_private :feature_category: :pages
- update_namespace_statistics:namespaces_root_statistics :has_external_dependencies:
- update_namespace_statistics:namespaces_schedule_aggregation :latency_sensitive:
- authorized_projects :resource_boundary: :unknown
- background_migration :weight: 1
- chat_notification - :name: cronjob:pages_domain_verification_cron
- create_evidence :feature_category: :pages
- create_gpg_signature :has_external_dependencies:
- create_note_diff_file :latency_sensitive:
- default :resource_boundary: :unknown
- delete_diff_files :weight: 1
- delete_merged_branches - :name: cronjob:personal_access_tokens_expiring
- delete_stored_files :feature_category: :authentication_and_authorization
- delete_user :has_external_dependencies:
- detect_repository_languages :latency_sensitive:
- email_receiver :resource_boundary: :unknown
- emails_on_push :weight: 1
- error_tracking_issue_link - :name: cronjob:pipeline_schedule
- expire_build_instance_artifacts :feature_category: :continuous_integration
- file_hook :has_external_dependencies:
- git_garbage_collect :latency_sensitive:
- github_import_advance_stage :resource_boundary: :cpu
- gitlab_shell :weight: 1
- group_destroy - :name: cronjob:prune_old_events
- group_export :feature_category: :not_owned
- group_import :has_external_dependencies:
- import_issues_csv :latency_sensitive:
- invalid_gpg_signature_update :resource_boundary: :unknown
- irker :weight: 1
- mailers - :name: cronjob:prune_web_hook_logs
- merge :feature_category: :integrations
- merge_request_mergeability_check :has_external_dependencies:
- migrate_external_diffs :latency_sensitive:
- namespaceless_project_destroy :resource_boundary: :unknown
- new_issue :weight: 1
- new_merge_request - :name: cronjob:remove_expired_group_links
- new_note :feature_category: :authentication_and_authorization
- pages :has_external_dependencies:
- pages_domain_ssl_renewal :latency_sensitive:
- pages_domain_verification :resource_boundary: :unknown
- phabricator_import_import_tasks :weight: 1
- post_receive - :name: cronjob:remove_expired_members
- process_commit :feature_category: :authentication_and_authorization
- project_cache :has_external_dependencies:
- project_daily_statistics :latency_sensitive:
- project_destroy :resource_boundary: :cpu
- project_export :weight: 1
- project_service - :name: cronjob:remove_unreferenced_lfs_objects
- propagate_service_template :feature_category: :source_code_management
- reactive_caching :has_external_dependencies:
- rebase :latency_sensitive:
- remote_mirror_notification :resource_boundary: :unknown
- repository_cleanup :weight: 1
- repository_fork - :name: cronjob:repository_archive_cache
- repository_import :feature_category: :source_code_management
- repository_remove_remote :has_external_dependencies:
- repository_update_remote_mirror :latency_sensitive:
- self_monitoring_project_create :resource_boundary: :unknown
- self_monitoring_project_delete :weight: 1
- system_hook_push - :name: cronjob:repository_check_dispatch
- update_external_pull_requests :feature_category: :source_code_management
- update_merge_requests :has_external_dependencies:
- update_project_statistics :latency_sensitive:
- upload_checksum :resource_boundary: :unknown
- web_hook :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
...@@ -3,79 +3,459 @@ ...@@ -3,79 +3,459 @@
# #
# Do not edit it manually! # Do not edit it manually!
--- ---
- cronjob:adjourned_group_deletion - :name: cronjob:adjourned_group_deletion
- cronjob:adjourned_projects_deletion_cron :feature_category: :authentication_and_authorization
- cronjob:clear_shared_runners_minutes :has_external_dependencies:
- cronjob:geo_container_repository_sync_dispatch :latency_sensitive:
- cronjob:geo_file_download_dispatch :resource_boundary: :unknown
- cronjob:geo_metrics_update :weight: 1
- cronjob:geo_migrated_local_files_clean_up - :name: cronjob:adjourned_projects_deletion_cron
- cronjob:geo_prune_event_log :feature_category: :authentication_and_authorization
- cronjob:geo_repository_sync :has_external_dependencies:
- cronjob:geo_repository_verification_primary_batch :latency_sensitive:
- cronjob:geo_repository_verification_secondary_scheduler :resource_boundary: :unknown
- cronjob:geo_repository_verification_secondary_shard :weight: 1
- cronjob:geo_scheduler_per_shard_scheduler - :name: cronjob:clear_shared_runners_minutes
- cronjob:geo_scheduler_primary_per_shard_scheduler :feature_category: :continuous_integration
- cronjob:geo_scheduler_secondary_per_shard_scheduler :has_external_dependencies:
- cronjob:geo_sidekiq_cron_config :latency_sensitive:
- cronjob:historical_data :resource_boundary: :unknown
- cronjob:import_software_licenses :weight: 1
- cronjob:ldap_all_groups_sync - :name: cronjob:geo_container_repository_sync_dispatch
- cronjob:ldap_sync :feature_category: :geo_replication
- cronjob:pseudonymizer :has_external_dependencies:
- cronjob:update_all_mirrors :latency_sensitive:
- cronjob:update_max_seats_used_for_gitlab_com_subscriptions :resource_boundary: :unknown
- epics:epics_update_epics_dates :weight: 1
- gcp_cluster:cluster_update_app - :name: cronjob:geo_file_download_dispatch
- gcp_cluster:cluster_wait_for_app_update :feature_category: :geo_replication
- geo:geo_batch_project_registry :has_external_dependencies:
- geo:geo_batch_project_registry_scheduler :latency_sensitive:
- geo:geo_container_repository_sync :resource_boundary: :unknown
- geo:geo_design_repository_shard_sync :weight: 1
- geo:geo_design_repository_sync - :name: cronjob:geo_metrics_update
- geo:geo_file_download :feature_category: :geo_replication
- geo:geo_file_registry_removal :has_external_dependencies:
- geo:geo_file_removal :latency_sensitive:
- geo:geo_hashed_storage_attachments_migration :resource_boundary: :unknown
- geo:geo_hashed_storage_migration :weight: 1
- geo:geo_project_sync - :name: cronjob:geo_migrated_local_files_clean_up
- geo:geo_rename_repository :feature_category: :geo_replication
- geo:geo_repositories_clean_up :has_external_dependencies:
- geo:geo_repository_cleanup :latency_sensitive:
- geo:geo_repository_destroy :resource_boundary: :unknown
- geo:geo_repository_shard_sync :weight: 1
- geo:geo_repository_verification_primary_shard - :name: cronjob:geo_prune_event_log
- geo:geo_repository_verification_primary_single :feature_category: :geo_replication
- geo:geo_repository_verification_secondary_single :has_external_dependencies:
- geo:geo_scheduler_primary_scheduler :latency_sensitive:
- geo:geo_scheduler_scheduler :resource_boundary: :unknown
- geo:geo_scheduler_secondary_scheduler :weight: 1
- geo:geo_secondary_repository_backfill - :name: cronjob:geo_repository_sync
- incident_management:incident_management_process_alert :feature_category: :geo_replication
- incident_management:incident_management_process_prometheus_alert :has_external_dependencies:
- jira_connect:jira_connect_sync_branch :latency_sensitive:
- jira_connect:jira_connect_sync_merge_request :resource_boundary: :unknown
- personal_access_tokens:personal_access_tokens_policy :weight: 1
- pipeline_default:ci_create_cross_project_pipeline - :name: cronjob:geo_repository_verification_primary_batch
- pipeline_default:ci_pipeline_bridge_status :feature_category: :geo_replication
- pipeline_default:store_security_reports :has_external_dependencies:
- pipeline_default:sync_security_reports_to_report_approval_rules :latency_sensitive:
- adjourned_project_deletion :resource_boundary: :unknown
- admin_emails :weight: 1
- create_github_webhook - :name: cronjob:geo_repository_verification_secondary_scheduler
- design_management_new_version :feature_category: :geo_replication
- elastic_batch_project_indexer :has_external_dependencies:
- elastic_commit_indexer :latency_sensitive:
- elastic_full_index :resource_boundary: :unknown
- elastic_indexer :weight: 1
- elastic_namespace_indexer - :name: cronjob:geo_repository_verification_secondary_shard
- elastic_namespace_rollout :feature_category: :geo_replication
- export_csv :has_external_dependencies:
- ldap_group_sync :latency_sensitive:
- new_epic :resource_boundary: :unknown
- project_import_schedule :weight: 1
- project_update_repository_storage - :name: cronjob:geo_scheduler_per_shard_scheduler
- refresh_license_compliance_checks :feature_category: :geo_replication
- repository_push_audit_event :has_external_dependencies:
- repository_update_mirror :latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: cronjob:geo_scheduler_primary_per_shard_scheduler
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: cronjob:geo_scheduler_secondary_per_shard_scheduler
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: cronjob:geo_sidekiq_cron_config
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: cronjob:historical_data
:feature_category: :license_compliance
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: cronjob:import_software_licenses
:feature_category: :license_compliance
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: cronjob:ldap_all_groups_sync
:feature_category: :authentication_and_authorization
:has_external_dependencies: true
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: cronjob:ldap_sync
:feature_category: :authentication_and_authorization
:has_external_dependencies: true
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: cronjob:pseudonymizer
:feature_category: :integrations
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: cronjob:update_all_mirrors
:feature_category: :source_code_management
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: cronjob:update_max_seats_used_for_gitlab_com_subscriptions
:feature_category: :license_compliance
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :cpu
:weight: 1
- :name: epics:epics_update_epics_dates
:feature_category: :epics
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 2
- :name: gcp_cluster:cluster_update_app
:feature_category: :kubernetes_management
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: gcp_cluster:cluster_wait_for_app_update
:feature_category: :kubernetes_management
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_batch_project_registry
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_batch_project_registry_scheduler
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_container_repository_sync
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_design_repository_shard_sync
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_design_repository_sync
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_file_download
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_file_registry_removal
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_file_removal
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_hashed_storage_attachments_migration
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_hashed_storage_migration
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_project_sync
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_rename_repository
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_repositories_clean_up
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_repository_cleanup
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_repository_destroy
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_repository_shard_sync
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_repository_verification_primary_shard
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_repository_verification_primary_single
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_repository_verification_secondary_single
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_scheduler_primary_scheduler
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_scheduler_scheduler
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_scheduler_secondary_scheduler
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: geo:geo_secondary_repository_backfill
:feature_category: :geo_replication
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: incident_management:incident_management_process_alert
:feature_category: :incident_management
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 2
- :name: incident_management:incident_management_process_prometheus_alert
:feature_category: :incident_management
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :cpu
:weight: 2
- :name: jira_connect:jira_connect_sync_branch
:feature_category: :integrations
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: jira_connect:jira_connect_sync_merge_request
:feature_category: :integrations
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: personal_access_tokens:personal_access_tokens_policy
:feature_category: :authentication_and_authorization
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: pipeline_default:ci_create_cross_project_pipeline
:feature_category: :continuous_integration
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :cpu
:weight: 3
- :name: pipeline_default:ci_pipeline_bridge_status
:feature_category: :continuous_integration
:has_external_dependencies:
:latency_sensitive: true
:resource_boundary: :cpu
:weight: 3
- :name: pipeline_default:store_security_reports
:feature_category: :continuous_integration
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 3
- :name: pipeline_default:sync_security_reports_to_report_approval_rules
:feature_category: :static_application_security_testing
:has_external_dependencies:
:latency_sensitive: true
:resource_boundary: :cpu
:weight: 3
- :name: adjourned_project_deletion
:feature_category: :authentication_and_authorization
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: admin_emails
:feature_category: :not_owned
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: create_github_webhook
:feature_category: :integrations
:has_external_dependencies: true
:latency_sensitive:
:resource_boundary: :cpu
:weight: 2
- :name: design_management_new_version
:feature_category: :design_management
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: elastic_batch_project_indexer
:feature_category: :search
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: elastic_commit_indexer
:feature_category: :search
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: elastic_full_index
:feature_category: :search
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: elastic_indexer
:feature_category: :search
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: elastic_namespace_indexer
:feature_category: :search
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: elastic_namespace_rollout
:feature_category: :search
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: export_csv
:feature_category: :issue_tracking
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :memory
:weight: 1
- :name: ldap_group_sync
:feature_category: :authentication_and_authorization
:has_external_dependencies: true
:latency_sensitive:
:resource_boundary: :unknown
:weight: 2
- :name: new_epic
:feature_category: :epics
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :cpu
:weight: 2
- :name: project_import_schedule
:feature_category: :importers
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: project_update_repository_storage
:feature_category: :source_code_management
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: refresh_license_compliance_checks
:feature_category: :license_compliance
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 2
- :name: repository_push_audit_event
:feature_category: :authentication_and_authorization
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
- :name: repository_update_mirror
:feature_category: :source_code_management
:has_external_dependencies:
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
...@@ -50,31 +50,33 @@ describe Gitlab::SidekiqConfig do ...@@ -50,31 +50,33 @@ describe Gitlab::SidekiqConfig do
end end
describe '.all_queues_yml_outdated?' do describe '.all_queues_yml_outdated?' do
before do let(:workers) do
workers = [ [
LdapGroupSyncWorker, LdapGroupSyncWorker,
RepositoryUpdateMirrorWorker RepositoryUpdateMirrorWorker
].map { |worker| described_class::Worker.new(worker, ee: true) } ].map { |worker| described_class::Worker.new(worker, ee: true) }
end
before do
allow(described_class).to receive(:workers).and_return(workers) allow(described_class).to receive(:workers).and_return(workers)
allow(File).to receive(:read) allow(YAML).to receive(:load_file)
.with(described_class::FOSS_QUEUE_CONFIG_PATH) .with(described_class::FOSS_QUEUE_CONFIG_PATH)
.and_return(YAML.dump([])) .and_return([])
end end
it 'returns true if the YAML file does not match the application code' do it 'returns true if the YAML file does not match the application code' do
allow(File).to receive(:read) allow(YAML).to receive(:load_file)
.with(described_class::EE_QUEUE_CONFIG_PATH) .with(described_class::EE_QUEUE_CONFIG_PATH)
.and_return(YAML.dump(['ldap_group_sync'])) .and_return([workers.first.to_yaml])
expect(described_class.all_queues_yml_outdated?).to be(true) expect(described_class.all_queues_yml_outdated?).to be(true)
end end
it 'returns false if the YAML file matches the application code' do it 'returns false if the YAML file matches the application code' do
allow(File).to receive(:read) allow(YAML).to receive(:load_file)
.with(described_class::EE_QUEUE_CONFIG_PATH) .with(described_class::EE_QUEUE_CONFIG_PATH)
.and_return(YAML.dump(%w[ldap_group_sync repository_update_mirror])) .and_return(workers.map(&:to_yaml))
expect(described_class.all_queues_yml_outdated?).to be(false) expect(described_class.all_queues_yml_outdated?).to be(false)
end end
......
...@@ -13,21 +13,10 @@ module Gitlab ...@@ -13,21 +13,10 @@ module Gitlab
(EE_QUEUE_CONFIG_PATH if Gitlab.ee?) (EE_QUEUE_CONFIG_PATH if Gitlab.ee?)
].compact.freeze ].compact.freeze
# For queues that don't have explicit workers - default and mailers
DummyWorker = Struct.new(:queue, :weight) do
def queue_namespace
nil
end
def get_weight
weight
end
end
DEFAULT_WORKERS = [ DEFAULT_WORKERS = [
Gitlab::SidekiqConfig::Worker.new(DummyWorker.new('default', 1), ee: false), DummyWorker.new('default', weight: 1),
Gitlab::SidekiqConfig::Worker.new(DummyWorker.new('mailers', 2), ee: false) DummyWorker.new('mailers', weight: 2)
].freeze ].map { |worker| Gitlab::SidekiqConfig::Worker.new(worker, ee: false) }.freeze
class << self class << self
include Gitlab::SidekiqConfig::CliMethods include Gitlab::SidekiqConfig::CliMethods
...@@ -66,12 +55,13 @@ module Gitlab ...@@ -66,12 +55,13 @@ module Gitlab
workers.partition(&:ee?).reverse.map(&:sort) workers.partition(&:ee?).reverse.map(&:sort)
end end
# YAML.load_file is OK here as we control the file contents
def all_queues_yml_outdated? def all_queues_yml_outdated?
foss_workers, ee_workers = workers_for_all_queues_yml foss_workers, ee_workers = workers_for_all_queues_yml
return true if foss_workers != YAML.safe_load(File.read(FOSS_QUEUE_CONFIG_PATH)) return true if foss_workers != YAML.load_file(FOSS_QUEUE_CONFIG_PATH)
Gitlab.ee? && ee_workers != YAML.safe_load(File.read(EE_QUEUE_CONFIG_PATH)) Gitlab.ee? && ee_workers != YAML.load_file(EE_QUEUE_CONFIG_PATH)
end end
def queues_for_sidekiq_queues_yml def queues_for_sidekiq_queues_yml
...@@ -89,9 +79,9 @@ module Gitlab ...@@ -89,9 +79,9 @@ module Gitlab
remaining_queues.map(&:queue_and_weight)).sort remaining_queues.map(&:queue_and_weight)).sort
end end
# YAML.load_file is OK here as we control the file contents
def sidekiq_queues_yml_outdated? def sidekiq_queues_yml_outdated?
# YAML.load is OK here as we control the file contents config_queues = YAML.load_file(SIDEKIQ_QUEUES_PATH)[:queues]
config_queues = YAML.load(File.read(SIDEKIQ_QUEUES_PATH))[:queues] # rubocop:disable Security/YAMLLoad
queues_for_sidekiq_queues_yml != config_queues queues_for_sidekiq_queues_yml != config_queues
end end
......
...@@ -23,8 +23,10 @@ module Gitlab ...@@ -23,8 +23,10 @@ module Gitlab
@worker_queues[rails_path] ||= QUEUE_CONFIG_PATHS.flat_map do |path| @worker_queues[rails_path] ||= QUEUE_CONFIG_PATHS.flat_map do |path|
full_path = File.join(rails_path, path) full_path = File.join(rails_path, path)
queues = File.exist?(full_path) ? YAML.load_file(full_path) : []
File.exist?(full_path) ? YAML.load_file(full_path) : [] # https://gitlab.com/gitlab-org/gitlab/issues/199230
queues.map { |queue| queue.is_a?(Hash) ? queue[:name] : queue }
end end
end end
...@@ -37,6 +39,12 @@ module Gitlab ...@@ -37,6 +39,12 @@ module Gitlab
[queue, *queues_set.grep(/\A#{queue}:/)] [queue, *queues_set.grep(/\A#{queue}:/)]
end end
end end
def clear_memoization!
if instance_variable_defined?('@worker_queues')
remove_instance_variable('@worker_queues')
end
end
# rubocop:enable Gitlab/ModuleWithInstanceVariables # rubocop:enable Gitlab/ModuleWithInstanceVariables
end end
end end
......
# frozen_string_literal: true
module Gitlab
module SidekiqConfig
# For queues that don't have explicit workers - default and mailers
class DummyWorker
attr_accessor :queue
ATTRIBUTE_METHODS = {
feature_category: :get_feature_category,
has_external_dependencies: :worker_has_external_dependencies?,
latency_sensitive: :latency_sensitive_worker?,
resource_boundary: :get_worker_resource_boundary,
weight: :get_weight
}.freeze
def initialize(queue, attributes = {})
@queue = queue
@attributes = attributes
end
def queue_namespace
nil
end
ATTRIBUTE_METHODS.each do |attribute, meth|
define_method meth do
@attributes[attribute]
end
end
end
end
end
...@@ -41,11 +41,18 @@ module Gitlab ...@@ -41,11 +41,18 @@ module Gitlab
# YAML representation # YAML representation
def encode_with(coder) def encode_with(coder)
coder.represent_scalar(nil, to_yaml) coder.represent_map(nil, to_yaml)
end end
def to_yaml def to_yaml
queue {
name: queue,
feature_category: get_feature_category,
has_external_dependencies: worker_has_external_dependencies?,
latency_sensitive: latency_sensitive_worker?,
resource_boundary: get_worker_resource_boundary,
weight: get_weight
}
end end
def namespace_and_weight def namespace_and_weight
......
# frozen_string_literal: true
require 'fast_spec_helper'
describe Gitlab::SidekiqConfig::CliMethods do
let(:dummy_root) { '/tmp/' }
describe '.worker_queues' do
def expand_path(path)
File.join(dummy_root, path)
end
def stub_exists(exists: true)
['app/workers/all_queues.yml', 'ee/app/workers/all_queues.yml'].each do |path|
allow(File).to receive(:exist?).with(expand_path(path)).and_return(exists)
end
end
def stub_contents(foss_queues, ee_queues)
allow(YAML).to receive(:load_file)
.with(expand_path('app/workers/all_queues.yml'))
.and_return(foss_queues)
allow(YAML).to receive(:load_file)
.with(expand_path('ee/app/workers/all_queues.yml'))
.and_return(ee_queues)
end
before do
described_class.clear_memoization!
end
context 'when the file exists' do
before do
stub_exists(exists: true)
end
shared_examples 'valid file contents' do
it 'memoizes the result' do
result = described_class.worker_queues(dummy_root)
stub_exists(exists: false)
expect(described_class.worker_queues(dummy_root)).to eq(result)
end
it 'flattens and joins the contents' do
expected_queues = %w[queue_a queue_b]
expected_queues = expected_queues.first(1) unless Gitlab.ee?
expect(described_class.worker_queues(dummy_root))
.to match_array(expected_queues)
end
end
context 'when the file contains an array of strings' do
before do
stub_contents(['queue_a'], ['queue_b'])
end
include_examples 'valid file contents'
end
context 'when the file contains an array of hashes' do
before do
stub_contents([{ name: 'queue_a' }], [{ name: 'queue_b' }])
end
include_examples 'valid file contents'
end
end
context 'when the file does not exist' do
before do
stub_exists(exists: false)
end
it 'returns an empty array' do
expect(described_class.worker_queues(dummy_root)).to be_empty
end
end
end
describe '.expand_queues' do
let(:all_queues) do
['cronjob:stuck_import_jobs', 'cronjob:stuck_merge_jobs', 'post_receive']
end
it 'defaults the value of the second argument to .worker_queues' do
allow(described_class).to receive(:worker_queues).and_return([])
expect(described_class.expand_queues(['cronjob']))
.to contain_exactly('cronjob')
allow(described_class).to receive(:worker_queues).and_return(all_queues)
expect(described_class.expand_queues(['cronjob']))
.to contain_exactly('cronjob', 'cronjob:stuck_import_jobs', 'cronjob:stuck_merge_jobs')
end
it 'expands queue namespaces to concrete queue names' do
expect(described_class.expand_queues(['cronjob'], all_queues))
.to contain_exactly('cronjob', 'cronjob:stuck_import_jobs', 'cronjob:stuck_merge_jobs')
end
it 'lets concrete queue names pass through' do
expect(described_class.expand_queues(['post_receive'], all_queues))
.to contain_exactly('post_receive')
end
it 'lets unknown queues pass through' do
expect(described_class.expand_queues(['unknown'], all_queues))
.to contain_exactly('unknown')
end
end
end
...@@ -3,9 +3,17 @@ ...@@ -3,9 +3,17 @@
require 'fast_spec_helper' require 'fast_spec_helper'
describe Gitlab::SidekiqConfig::Worker do describe Gitlab::SidekiqConfig::Worker do
def create_worker(queue:, weight: 0) def create_worker(queue:, **attributes)
namespace = queue.include?(':') && queue.split(':').first namespace = queue.include?(':') && queue.split(':').first
inner_worker = double(queue: queue, queue_namespace: namespace, get_weight: weight) inner_worker = double(
queue: queue,
queue_namespace: namespace,
get_feature_category: attributes[:feature_category],
get_weight: attributes[:weight],
get_worker_resource_boundary: attributes[:resource_boundary],
latency_sensitive_worker?: attributes[:latency_sensitive],
worker_has_external_dependencies?: attributes[:has_external_dependencies]
)
described_class.new(inner_worker, ee: false) described_class.new(inner_worker, ee: false)
end end
...@@ -75,13 +83,32 @@ describe Gitlab::SidekiqConfig::Worker do ...@@ -75,13 +83,32 @@ describe Gitlab::SidekiqConfig::Worker do
end end
describe 'YAML encoding' do describe 'YAML encoding' do
it 'encodes the worker in YAML as a string of the queue' do it 'encodes the worker in YAML as a hash of the queue' do
worker_a = create_worker(queue: 'a') attributes_a = {
worker_b = create_worker(queue: 'b') feature_category: :source_code_management,
has_external_dependencies: false,
latency_sensitive: false,
resource_boundary: :memory,
weight: 2
}
attributes_b = {
feature_category: :not_owned,
has_external_dependencies: true,
latency_sensitive: true,
resource_boundary: :unknown,
weight: 1
}
worker_a = create_worker(queue: 'a', **attributes_a)
worker_b = create_worker(queue: 'b', **attributes_b)
expect(YAML.dump(worker_a))
.to eq(YAML.dump(attributes_a.reverse_merge(name: 'a')))
expect(YAML.dump(worker_a)).to eq(YAML.dump('a'))
expect(YAML.dump([worker_a, worker_b])) expect(YAML.dump([worker_a, worker_b]))
.to eq(YAML.dump(%w[a b])) .to eq(YAML.dump([attributes_a.reverse_merge(name: 'a'),
attributes_b.reverse_merge(name: 'b')]))
end end
end end
......
...@@ -24,27 +24,6 @@ describe Gitlab::SidekiqConfig do ...@@ -24,27 +24,6 @@ describe Gitlab::SidekiqConfig do
end end
end end
describe '.expand_queues' do
it 'expands queue namespaces to concrete queue names' do
queues = described_class.expand_queues(%w[cronjob])
expect(queues).to include('cronjob:stuck_import_jobs')
expect(queues).to include('cronjob:stuck_merge_jobs')
end
it 'lets concrete queue names pass through' do
queues = described_class.expand_queues(%w[post_receive])
expect(queues).to include('post_receive')
end
it 'lets unknown queues pass through' do
queues = described_class.expand_queues(%w[unknown])
expect(queues).to include('unknown')
end
end
describe '.workers_for_all_queues_yml' do describe '.workers_for_all_queues_yml' do
it 'returns a tuple with FOSS workers first' do it 'returns a tuple with FOSS workers first' do
expect(described_class.workers_for_all_queues_yml.first) expect(described_class.workers_for_all_queues_yml.first)
...@@ -53,29 +32,31 @@ describe Gitlab::SidekiqConfig do ...@@ -53,29 +32,31 @@ describe Gitlab::SidekiqConfig do
end end
describe '.all_queues_yml_outdated?' do describe '.all_queues_yml_outdated?' do
before do let(:workers) do
workers = [ [
PostReceive,
MergeWorker, MergeWorker,
PostReceive,
ProcessCommitWorker ProcessCommitWorker
].map { |worker| described_class::Worker.new(worker, ee: false) } ].map { |worker| described_class::Worker.new(worker, ee: false) }
end
before do
allow(described_class).to receive(:workers).and_return(workers) allow(described_class).to receive(:workers).and_return(workers)
allow(Gitlab).to receive(:ee?).and_return(false) allow(Gitlab).to receive(:ee?).and_return(false)
end end
it 'returns true if the YAML file does not match the application code' do it 'returns true if the YAML file does not matcph the application code' do
allow(File).to receive(:read) allow(YAML).to receive(:load_file)
.with(described_class::FOSS_QUEUE_CONFIG_PATH) .with(described_class::FOSS_QUEUE_CONFIG_PATH)
.and_return(YAML.dump(%w[post_receive merge])) .and_return(workers.first(2).map(&:to_yaml))
expect(described_class.all_queues_yml_outdated?).to be(true) expect(described_class.all_queues_yml_outdated?).to be(true)
end end
it 'returns false if the YAML file matches the application code' do it 'returns false if the YAML file matches the application code' do
allow(File).to receive(:read) allow(YAML).to receive(:load_file)
.with(described_class::FOSS_QUEUE_CONFIG_PATH) .with(described_class::FOSS_QUEUE_CONFIG_PATH)
.and_return(YAML.dump(%w[merge post_receive process_commit])) .and_return(workers.map(&:to_yaml))
expect(described_class.all_queues_yml_outdated?).to be(false) expect(described_class.all_queues_yml_outdated?).to be(false)
end end
...@@ -125,17 +106,17 @@ describe Gitlab::SidekiqConfig do ...@@ -125,17 +106,17 @@ describe Gitlab::SidekiqConfig do
end end
it 'returns true if the YAML file does not match the application code' do it 'returns true if the YAML file does not match the application code' do
allow(File).to receive(:read) allow(YAML).to receive(:load_file)
.with(described_class::SIDEKIQ_QUEUES_PATH) .with(described_class::SIDEKIQ_QUEUES_PATH)
.and_return(YAML.dump(queues: expected_queues.reverse)) .and_return(queues: expected_queues.reverse)
expect(described_class.sidekiq_queues_yml_outdated?).to be(true) expect(described_class.sidekiq_queues_yml_outdated?).to be(true)
end end
it 'returns false if the YAML file matches the application code' do it 'returns false if the YAML file matches the application code' do
allow(File).to receive(:read) allow(YAML).to receive(:load_file)
.with(described_class::SIDEKIQ_QUEUES_PATH) .with(described_class::SIDEKIQ_QUEUES_PATH)
.and_return(YAML.dump(queues: expected_queues)) .and_return(queues: expected_queues)
expect(described_class.sidekiq_queues_yml_outdated?).to be(false) expect(described_class.sidekiq_queues_yml_outdated?).to be(false)
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment