summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/monitoring/stores/mutations.js
diff options
context:
space:
mode:
authorSimon Knox <psimyn@gmail.com>2019-06-06 08:03:30 +1000
committerSimon Knox <psimyn@gmail.com>2019-06-07 21:39:03 +1000
commitfba991dc482f726f7f5afd0ef4facbc1552e8d3c (patch)
tree9699faa10e2dd1f5feda79c9166d4b3e7c382447 /app/assets/javascripts/monitoring/stores/mutations.js
parentecdc50b198796275b5f0862c5cdb0dca5aac1213 (diff)
downloadgitlab-ce-fba991dc482f726f7f5afd0ef4facbc1552e8d3c.tar.gz
Add feature flag and dashboard endpointprom-api-2
First part of FE for Prometheus API Dashboard endpoint fetches all info except for chart results Renders empty groups after loading
Diffstat (limited to 'app/assets/javascripts/monitoring/stores/mutations.js')
-rw-r--r--app/assets/javascripts/monitoring/stores/mutations.js26
1 files changed, 22 insertions, 4 deletions
diff --git a/app/assets/javascripts/monitoring/stores/mutations.js b/app/assets/javascripts/monitoring/stores/mutations.js
index c1779333d75..c2b40472b0a 100644
--- a/app/assets/javascripts/monitoring/stores/mutations.js
+++ b/app/assets/javascripts/monitoring/stores/mutations.js
@@ -7,10 +7,24 @@ export default {
state.showEmptyState = true;
},
[types.RECEIVE_METRICS_DATA_SUCCESS](state, groupData) {
- state.groups = groupData.map(group => ({
- ...group,
- metrics: normalizeMetrics(sortMetrics(group.metrics)),
- }));
+ state.groups = groupData.map(group => {
+ let { metrics } = group;
+
+ // for backwards compatibility, and to limit Vue template changes:
+ // for each group alias panels to metrics
+ // for each panel alias metrics to queries
+ if (state.useDashboardEndpoint) {
+ metrics = group.panels.map(panel => ({
+ ...panel,
+ queries: panel.metrics,
+ }));
+ }
+
+ return {
+ ...group,
+ metrics: normalizeMetrics(sortMetrics(metrics)),
+ };
+ });
if (!state.groups.length) {
state.emptyState = 'noData';
@@ -38,6 +52,10 @@ export default {
state.metricsEndpoint = endpoints.metricsEndpoint;
state.environmentsEndpoint = endpoints.environmentsEndpoint;
state.deploymentsEndpoint = endpoints.deploymentsEndpoint;
+ state.dashboardEndpoint = endpoints.dashboardEndpoint;
+ },
+ [types.SET_DASHBOARD_ENABLED](state, enabled) {
+ state.useDashboardEndpoint = enabled;
},
[types.SET_GETTING_STARTED_EMPTY_STATE](state) {
state.emptyState = 'gettingStarted';