Multiple Performance Dashboards
Description
With gitlab-ce#28717, we are adding support for a wide variety and potentially large set of monitored metrics. This is great to drive the default environment dashboard, the merge request workflows, and other project level settings.
However for larger teams with more specialized groups of developers, they will likely want to create their own dashboards for the metrics they care about. For example, someone on the CI team who develops the Runner may want to have a specific dashboard to view all Runner and CI related metrics.
Proposal
We should allow the creation of multiple dashboards, which can help manage the volume of available metrics in larger projects.
This should be a simple addition to the configuration data format, with the option to switch between dashboards presented to the user.
We will need to determine the way to present these (tabs, dropdown, etc.).
Design
We will create a filter bar to hold all of our dashboard filters. The first dropdown will allow all users to switch dashboards and maintainers to create a new dashboard or delete an existing one:
- The dropdown follows the one that currently exists in issue > boards
- We should have 1 dashboard be the system default. This dashboard should not be deletable (preventing users from accidentally deleting all of their metrics dashboards)
- In the 'new dashboard' screens, we are essentially porting over the already existing 'new metric' functionality from settings > integrations > prometheus. Everything will work as it does now but, if common metrics are detected, users will have the option to turn them on/off using a toggle (default will be to have them off, currently there is no option to turn them on or off, they just appear):
- The 'add metric' screen is also porting over the 'new metric' screen that already exists in settings > integrations > prometheus.
Links / references
Documentation blurb
Will write once we align more on design / feature.