From e3fe48b85dc07b135180f8ec54db95537f794fdc Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Fri, 6 Oct 2017 15:29:32 -0500 Subject: allow prometheus graphs to handle non-congiuous paths (with NaN, +Inf, and -Inf) --- app/assets/javascripts/monitoring/utils/multiple_time_series.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'app/assets/javascripts') diff --git a/app/assets/javascripts/monitoring/utils/multiple_time_series.js b/app/assets/javascripts/monitoring/utils/multiple_time_series.js index 3cbe06d8fd6..65eec0d8d02 100644 --- a/app/assets/javascripts/monitoring/utils/multiple_time_series.js +++ b/app/assets/javascripts/monitoring/utils/multiple_time_series.js @@ -56,12 +56,16 @@ export default function createTimeSeries(queryData, graphWidth, graphHeight, gra timeSeriesScaleX.ticks(d3.time.minute, 60); timeSeriesScaleY.domain([0, maxValueFromSeries.maxValue]); + const defined = d => !isNaN(d.value) && d.value != null; + const lineFunction = d3.svg.line() + .defined(defined) .interpolate('linear') .x(d => timeSeriesScaleX(d.time)) .y(d => timeSeriesScaleY(d.value)); const areaFunction = d3.svg.area() + .defined(defined) .interpolate('linear') .x(d => timeSeriesScaleX(d.time)) .y0(graphHeight - graphHeightOffset) -- cgit v1.2.1 From ece9621b1304c7ebc338a6765c7e9aed5126edaa Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Fri, 6 Oct 2017 15:30:09 -0500 Subject: allow legend to properly handle NaN values --- app/assets/javascripts/monitoring/components/graph/legend.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'app/assets/javascripts') diff --git a/app/assets/javascripts/monitoring/components/graph/legend.vue b/app/assets/javascripts/monitoring/components/graph/legend.vue index dbc48c63747..85b6d7f4cbe 100644 --- a/app/assets/javascripts/monitoring/components/graph/legend.vue +++ b/app/assets/javascripts/monitoring/components/graph/legend.vue @@ -79,7 +79,11 @@ }, formatMetricUsage(series) { - return `${formatRelevantDigits(series.values[this.currentDataIndex].value)} ${this.unitOfDisplay}`; + const value = series.values[this.currentDataIndex].value; + if (isNaN(value)) { + return '-'; + } + return `${formatRelevantDigits(value)} ${this.unitOfDisplay}`; }, createSeriesString(index, series) { -- cgit v1.2.1