Technical Breakdown for Monitor: Self-Monitoring Removal
This is the technical breakdown for Monitor:Self-Monitoring Deprecation (gitlab-org/gitlab#348909 - closed).
Removal breakdown
List of features which should not be available
- Ability to create self-monitoring project via UI.
- Remove the option to toggle self-monitoring from
Admin Area > Metrics and profiling
.
Dependencies, impact & blockers
Note: We should start with frontend removals and then start the backend as it will remove the dependency on backend.
The feature is pretty much isolated. We remove the entry point for the feature via the UI and the workers used to create/delete the project. We do not need a feature flag to block the feature first. We can start code and usage deletions as mentioned below.
Relevant files
backend
Relevant files
Deletions
- app/workers/self_monitoring_project_create_worker.rb
- app/workers/self_monitoring_project_delete_worker.rb
- app/workers/concerns/self_monitoring_project_worker.rb
- app/services/metrics/dashboard/self_monitoring_dashboard_service.rb
- spec/requests/self_monitoring_project_spec.rb
- spec/support/shared_examples/requests/self_monitoring_shared_examples.rb
- spec/support/shared_examples/workers/self_monitoring_shared_examples.rb
- spec/lib/gitlab/database_importers/self_monitoring/project/*
- lib/gitlab/database_importers/self_monitoring/*
- config/prometheus/self_monitoring_default.yml
- spec/workers/self_monitoring_project_delete_worker_spec.rb
- spec/workers/self_monitoring_project_create_worker_spec.rb
- spec/services/metrics/dashboard/self_monitoring_dashboard_service_spec.rb
- db/fixtures/production/998_gitlab_instance_administration_project.rb
Usages to be removed
- app/controllers/admin/application_settings_controller.rb
- app/workers/all_queues.yml
- app/services/metrics/dashboard/clone_dashboard_service.rb
- lib/gitlab/metrics/dashboard/finder.rb
- lib/gitlab/metrics/dashboard/service_selector.rb
- spec/lib/gitlab/metrics/dashboard/service_selector_spec.rb
- spec/services/metrics/dashboard/clone_dashboard_service_spec.rb
- spec/support/helpers/metrics_dashboard_helpers.rb
- [TBD]
frontend
Relevant files
Deletions
- app/assets/javascripts/self_monitor/components/self_monitor_form.vue
- app/assets/javascripts/self_monitor/index.js
- spec/frontend/self_monitor/components/self_monitor_form_spec.js
- app/assets/javascripts/self_monitor/store/*
- spec/frontend/self_monitor/components/__snapshots__/self_monitor_form_spec.js.snap
- spec/frontend/self_monitor/store/*
Usages to be removed
- app/views/admin/application_settings/metrics_and_profiling.html.haml
documentation
Relevant files
- doc/administration/monitoring/gitlab_self_monitoring_project/*
Issue breakdown & timeline
Definition of done
The following are recommended prior to starting removal:
-
Detailed breakdown issue was posted to #g_respond
with request for feedback -
All needed issues are created & linked to the appropriate epic -
All open threads are resolved or determined non-blocking
Edited by Rajendra Kadam