Discuss: Default dashboard and custom dashboard
Background
There are different purposes for a monitoring solution to have both Custom and Default dashboard. While default dashboard provides an out of the box experience for viewing metrics, a custom dashboard provides the flexibility to edit and add different metric information.
Our concepts of default and custom dashboard are not well defined in the product, this issue tries to explains the differences in both features and suggest a future roadmap for both custom and default dashboard.
Workflows for default dashboard
Default dashboard is defined in a common_metric.yml file which is not accessible to the end user
- This is the landing page for our users.
- A user can add metric through the UI, once populated the added metrics append to the bottom part of the dashboard (Custom metric area)
- A user is able to configure alerts on the default dashboard
- A user can duplicate the default dashboard which transforms it into a custom dashboard (copy the common_metric.yml file into the .gitlab/dashboard folder)
Workflows for custom dashboard
A custom dashboard is a yml file that the user creates, it is located under .gitlab/dashboard. To create a new dashboard the user needs to create a new yml file in the .gitlab/dashboard folder
- A user can edit dashboard (edit the yml file) through the UI which includes rearranging the chart location and adding metric to a dashboard
If we try to summarize the available actions for both dashboard
Dashboard type | Add metric (UI) | Edit dashboard | Configure alerts | Custom metrics area | Duplicate dashboard | Landing page |
---|---|---|---|---|---|---|
Default | ||||||
Custom |
Those differences affect the add metic to a dashboard user flow
Proposed roadmap for default/custom dashboard
Proposed workflow for adding metric
To achieve that i would like to propose to do the following:
- Custom dashboard should support alerting
- Custom dashboard should support adding metric through the UI
- Default dashboard will be "read-only" (a user should not be able to add metric to the default dashboard) - this should be noticeable by the user.
- We should still support alerting on default dashboard
- We should allow our users to customize their landing page
- Deprecate custom metric in default dashboard (only on %14.0)
- The user should be able to create a new dashboard from the UI
- We should be able to update the default dashboard from time to time.
- There could be multiple default dashboards
Implementaiton details
- In the suggested workflow we'd like to have the UI populate the yml file