diff options
author | Simon Knox <psimyn@gmail.com> | 2019-06-06 08:03:30 +1000 |
---|---|---|
committer | Simon Knox <psimyn@gmail.com> | 2019-06-07 21:39:03 +1000 |
commit | fba991dc482f726f7f5afd0ef4facbc1552e8d3c (patch) | |
tree | 9699faa10e2dd1f5feda79c9166d4b3e7c382447 /app/assets/javascripts/monitoring/stores/mutations.js | |
parent | ecdc50b198796275b5f0862c5cdb0dca5aac1213 (diff) | |
download | gitlab-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.js | 26 |
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'; |