diff options
-rw-r--r-- | app/assets/javascripts/monitoring/utils.js | 5 | ||||
-rw-r--r-- | spec/javascripts/monitoring/store/mutations_spec.js | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/app/assets/javascripts/monitoring/utils.js b/app/assets/javascripts/monitoring/utils.js index 2aa83c62d67..3f9b5247f07 100644 --- a/app/assets/javascripts/monitoring/utils.js +++ b/app/assets/javascripts/monitoring/utils.js @@ -11,7 +11,10 @@ export const getTimeDiff = timeWindow => { }; }; -export const uniqMetricsId = metric => metric.metric_id + metric.id; +// This is hopefully a temporary fix until BE fixes it. +// refer https://gitlab.com/gitlab-org/gitlab-ce/issues/64481 for more info +// metric_id or id can be a number. To avoid NaN, casting them to string. +export const uniqMetricsId = metric => String(metric.metric_id) + String(metric.id); export const getTimeWindow = ({ start, end }) => Object.entries(secondsIn).reduce((acc, [timeRange, value]) => { diff --git a/spec/javascripts/monitoring/store/mutations_spec.js b/spec/javascripts/monitoring/store/mutations_spec.js index 43776b1b7f2..e185e976cec 100644 --- a/spec/javascripts/monitoring/store/mutations_spec.js +++ b/spec/javascripts/monitoring/store/mutations_spec.js @@ -1,6 +1,7 @@ import mutations from '~/monitoring/stores/mutations'; import * as types from '~/monitoring/stores/mutation_types'; import state from '~/monitoring/stores/state'; +import { uniqMetricsId } from '~/monitoring/utils'; import { metricsGroupsAPIResponse, deploymentData, @@ -128,6 +129,7 @@ describe('Monitoring mutations', () => { describe('SET_QUERY_RESULT', () => { const metricId = 12; + const id = 'system_metrics_kubernetes_container_memory_total'; const result = [{ values: [[0, 1], [1, 1], [1, 3]] }]; beforeEach(() => { @@ -147,11 +149,11 @@ describe('Monitoring mutations', () => { it('sets metricsWithData value', () => { mutations[types.SET_QUERY_RESULT](stateCopy, { - metricId, + metricId: uniqMetricsId({ metric_id: metricId, id }), result, }); - expect(stateCopy.metricsWithData).toEqual([12]); + expect(stateCopy.metricsWithData).toEqual([uniqMetricsId({ metric_id: metricId, id })]); }); it('does not store empty results', () => { |