Fix uninitialized constant SystemDashboardService in custom dashboards
What does this MR do?
Fixes the following uninitialized constant error, when accessing a custom metrics dashboard
NameError at /root/autodevops-deploy/environments/31/metrics_dashboard.json
===========================================================================
> uninitialized constant SystemDashboardService
app/services/metrics/dashboard/custom_metric_embed_service.rb, line 43
----------------------------------------------------------------------
38 end
39
40 # All custom metrics are displayed on the system dashboard.
41 # Nil is acceptable as we'll default to the system dashboard.
42 def valid_dashboard?(dashboard)
> 43 dashboard.nil? || SystemDashboardService.system_dashboard?(dashboard)
44 end
45 end
46
47 # Returns a new dashboard with only the matching
48 # metrics from the system dashboard, stripped of
App backtrace
-------------
- app/services/metrics/dashboard/custom_metric_embed_service.rb:43:in `valid_dashboard?'
- app/services/metrics/dashboard/custom_metric_embed_service.rb:22:in `valid_params?'
- lib/gitlab/metrics/dashboard/service_selector.rb:40:in `custom_metric_embed?'
- lib/gitlab/metrics/dashboard/service_selector.rb:20:in `call'
- ee/lib/ee/gitlab/metrics/dashboard/service_selector.rb:14:in `call'
- lib/gitlab/metrics/dashboard/finder.rb:78:in `service_for'
- lib/gitlab/metrics/dashboard/finder.rb:36:in `find'
- app/controllers/concerns/metrics_dashboard.rb:9:in `metrics_dashboard'
- ee/lib/gitlab/ip_address_state.rb:10:in `with'
- ee/app/controllers/ee/application_controller.rb:43:in `set_current_ip_address'
- lib/gitlab/session.rb:11:in `with_session'
- app/controllers/application_controller.rb:446:in `set_session_storage'
- lib/gitlab/i18n.rb:55:in `with_locale'
- lib/gitlab/i18n.rb:61:in `with_user_locale'
- app/controllers/application_controller.rb:440:in `set_locale'
- lib/gitlab/middleware/rails_queue_duration.rb:27:in `call'
- lib/gitlab/metrics/rack_middleware.rb:17:in `block in call'
- lib/gitlab/metrics/transaction.rb:62:in `run'
- lib/gitlab/metrics/rack_middleware.rb:17:in `call'
- lib/gitlab/request_profiler/middleware.rb:17:in `call'
- lib/gitlab/query_limiting/middleware.rb:17:in `block in call'
- lib/gitlab/query_limiting/transaction.rb:39:in `run'
- lib/gitlab/query_limiting/middleware.rb:16:in `call'
- ee/lib/gitlab/jira/middleware.rb:19:in `call'
- lib/gitlab/middleware/go.rb:20:in `call'
- lib/gitlab/etag_caching/middleware.rb:13:in `call'
- lib/gitlab/middleware/correlation_id.rb:16:in `block in call'
- lib/gitlab/middleware/correlation_id.rb:15:in `call'
- lib/gitlab/middleware/multipart.rb:117:in `call'
- lib/gitlab/middleware/read_only/controller.rb:48:in `call'
- lib/gitlab/middleware/read_only.rb:18:in `call'
- lib/gitlab/middleware/basic_health_check.rb:25:in `call'
- lib/gitlab/request_context.rb:32:in `call'
- lib/gitlab/middleware/static.rb:11:in `call'
- lib/gitlab/webpack/dev_server_middleware.rb:27:in `perform_request'
- lib/gitlab/metrics/requests_rack_middleware.rb:49:in `call'
- lib/gitlab/middleware/release_env.rb:12:in `call'
Screenshots
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation created/updated or follow-up review issue created -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team
Edited by 🤖 GitLab Bot 🤖