summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/assets/javascripts/monitoring/utils.js5
-rw-r--r--spec/javascripts/monitoring/store/mutations_spec.js6
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', () => {