From 5c73ed6ecdd38e95b0e2d2ff1e844c0439422f8c Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Tue, 27 Feb 2018 15:12:12 +0300 Subject: [PATCH] heatmap: use series names as top or bottom bounds, depends of datasource --- public/app/plugins/panel/heatmap/heatmap_ctrl.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/public/app/plugins/panel/heatmap/heatmap_ctrl.ts b/public/app/plugins/panel/heatmap/heatmap_ctrl.ts index 6656d43f9c7..bb64229dc77 100644 --- a/public/app/plugins/panel/heatmap/heatmap_ctrl.ts +++ b/public/app/plugins/panel/heatmap/heatmap_ctrl.ts @@ -204,11 +204,17 @@ export class HeatmapCtrl extends MetricsPanelCtrl { let xBucketSize, yBucketSize, bucketsData, tsBuckets; // Convert histogram to heatmap. Each histogram bucket represented by the series which name is - // a top bucket bound. Further, these values will be used as X axis labels. + // a top (or bottom, depends of datasource) bucket bound. Further, these values will be used as X axis labels. bucketsData = histogramToHeatmap(this.series); tsBuckets = _.map(this.series, 'label'); - // Add empty bottom bucket label - tsBuckets = [''].concat(tsBuckets); + + if (this.datasource && this.datasource.type === 'prometheus') { + // Prometheus labels are upper inclusive bounds, so add empty bottom bucket label. + tsBuckets = [''].concat(tsBuckets); + } else { + // Elasticsearch uses labels as bottom bucket bounds, so add empty top bucket label. + tsBuckets.push(''); + } // Calculate bucket size based on heatmap data let xBucketBoundSet = _.map(_.keys(bucketsData), key => Number(key));