Add Metrics Dashboard embed pipeline to FF
What does this MR do and why?
This MR gates the metrics dashboard embeds pipeline functionality behind the remove_monitor_metrics
feature flag. Frontend is done, but we also want to deprecate/remove any API-only access.
Related issue: Metrics: Delete GFM pipeline logic for embeds (#397137 - closed), (one of many MRs)
Context for removal:
- The Metrics Dashboard feature is being removed in %16.0.
- Most of the metrics dashboard frontend is currently behind the
remove_monitor_metrics
flag, but the flag has not yet been enabled. It needs to be enabled by default in time for %16.0.- The entire frontend should be behind the flag in order to enable it by default, but the API can merge after - as long as we make all breaking changes within %16.0.
- Rollout issue: [Feature flag] Rollout of `remove_monitor_metrics` (#399248)
- Tracking issue: Metrics: hide deprecated modules behind a featu... (#399231 - closed)
- Enable-by-default MR: Set remove_monitor_metrics flag to true (!119989 - merged)
backend MRs to flag all metrics dashboard endpoints
All related- Add Metrics Dashboard annnotations API to FF (!120286 - merged)
- Add Metrics Dashboard starred dashboard API to FF (!120288 - merged)
- Add Metrics Dashboard templates viewer to FF (!120289 - merged)
- Add Metrics Dashboard environments API to FF (!120299 - merged)
- Add Metrics Dashboard settings API to FF (!120305 - merged)
- Add Metrics Dashboard GraphQL alert queries to FF (!120307 - merged)
- Add Metrics Dashboard embed pipeline to FF (!120310 - merged)
- Add Metrics Dashboard for internal dashboard en... (!120313 - merged)
- Add Metrics Dashboard base API to FF (!120316 - merged)
How to set up and validate locally
** pre-req: project with an environment
operation | how to test | before | after |
---|---|---|---|
Environment metrics embed |
Pre-req: project with an environment
Note: edit the markdown after swapping the flag to reset the cached version |
The metrics-related error is because of the frontend finding the dashboard & attempting to retrieve data. But my local env doesn't actually have a prometheus server returning data, so we just get an error |
There's no error because we're not including a placeholder embed for the frontend to latch onto |
Cluster metrics embed |
Pre-req: project with a cluster ```ruby FactoryBot.create(:cluster, projects: [Environment.last.project], user: User.last) ```\ 1. Same as the previous one!
|
||
Alert metrics embed |
Pre-req: alert --> See !120307 (merged) for setup instructions
|
||
Grafana metrics embed |
Pre-req: grafana integration
|
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.