Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/metrics/dashboard/finder.rb')
-rw-r--r--lib/gitlab/metrics/dashboard/finder.rb95
1 files changed, 0 insertions, 95 deletions
diff --git a/lib/gitlab/metrics/dashboard/finder.rb b/lib/gitlab/metrics/dashboard/finder.rb
deleted file mode 100644
index 12f7c347b2d..00000000000
--- a/lib/gitlab/metrics/dashboard/finder.rb
+++ /dev/null
@@ -1,95 +0,0 @@
-# frozen_string_literal: true
-
-# Returns DB-supplmented dashboard info for determining
-# the layout of UI. Intended entry-point for the Metrics::Dashboard
-# module.
-module Gitlab
- module Metrics
- module Dashboard
- class Finder
- PREDEFINED_DASHBOARD_LIST = [
- ::Metrics::Dashboard::PodDashboardService,
- ::Metrics::Dashboard::SystemDashboardService
- ].freeze
-
- class << self
- # Returns a formatted dashboard packed with DB info.
- # @param project [Project]
- # @param user [User]
- # @param environment [Environment]
- # @param options [Hash<Symbol,Any>]
- # @param options - embedded [Boolean] Determines whether the
- # dashboard is to be rendered as part of an
- # issue or location other than the primary
- # metrics dashboard UI. Returns only the
- # Memory/CPU charts of the system dash.
- # @param options - dashboard_path [String] Path at which the
- # dashboard can be found. Nil values will
- # default to the system dashboard.
- # @param options - group [String, Group] Title of the group
- # to which a panel might belong. Used by
- # embedded dashboards. If cluster dashboard,
- # refers to the Group corresponding to the cluster.
- # @param options - title [String] Title of the panel.
- # Used by embedded dashboards.
- # @param options - y_label [String] Y-Axis label of
- # a panel. Used by embedded dashboards.
- # @param options - cluster [Cluster]. Used by
- # embedded and un-embedded dashboards.
- # @param options - cluster_type [Symbol] The level of
- # cluster, one of [:admin, :project, :group]. Used by
- # embedded and un-embedded dashboards.
- # @param options - grafana_url [String] URL pointing
- # to a grafana dashboard panel
- # @param options - prometheus_alert_id [Integer] ID of
- # a PrometheusAlert. For dashboard embeds.
- # @return [Hash]
- def find(project, user, options = {})
- service_for(options)
- .new(project, user, options)
- .get_dashboard
- end
-
- # Returns a dashboard without any supplemental info.
- # Returns only full, yml-defined dashboards.
- # @return [Hash]
- def find_raw(project, dashboard_path: nil)
- service_for(dashboard_path: dashboard_path)
- .new(project, nil, dashboard_path: dashboard_path)
- .raw_dashboard
- end
-
- # Summary of all known dashboards.
- # @return [Array<Hash>] ex) [{ path: String,
- # display_name: String,
- # default: Boolean }]
- def find_all_paths(project)
- dashboards = user_facing_dashboard_services.flat_map do |service|
- service.all_dashboard_paths(project)
- end
-
- Gitlab::Utils.stable_sort_by(dashboards) { |dashboard| dashboard[:display_name].downcase }
- end
-
- private
-
- def user_facing_dashboard_services
- PREDEFINED_DASHBOARD_LIST + [project_service]
- end
-
- def system_service
- ::Metrics::Dashboard::SystemDashboardService
- end
-
- def project_service
- ::Metrics::Dashboard::CustomDashboardService
- end
-
- def service_for(options)
- Gitlab::Metrics::Dashboard::ServiceSelector.call(options)
- end
- end
- end
- end
- end
-end