@@ -10,6 +10,7 @@ import (
10
10
"github.com/grafana/grafana/pkg/log"
11
11
"github.com/grafana/grafana/pkg/tsdb"
12
12
13
+ "gopkg.in/guregu/null.v3"
13
14
elastic "gopkg.in/olivere/elastic.v3"
14
15
)
15
16
@@ -187,7 +188,7 @@ func (e *EsExecutor) processDateHistogram(esQuery EsQuery, bucketAgg *elastic.Ag
187
188
for i := 0 ; i < len (esQuery .Metrics ); i ++ {
188
189
mAgg := esQuery .Metrics [i ]
189
190
if mAgg .Hide == false { //TODO raise error if there is more then one metric visible
190
- var values [][ 2 ] * float64
191
+ var values tsdb. TimeSeriesPoints
191
192
for _ , bucket := range bucketAgg .Buckets {
192
193
if mAgg .MetricType == "extended_stats" {
193
194
//extended, found := bucket.Aggregations.ExtendedStats(mAgg.Id)
@@ -202,15 +203,14 @@ func (e *EsExecutor) processDateHistogram(esQuery EsQuery, bucketAgg *elastic.Ag
202
203
} else {
203
204
//everything with json key value should work with this
204
205
derivative , found := bucket .Aggregations .Derivative (mAgg .Id ) //TODO use correct type
205
- var valueRow [2 ]* float64
206
+ var valueRow [2 ]null. Float
206
207
bucketPoint := float64 (bucket .Key )
207
- valueRow [1 ] = & bucketPoint
208
+ valueRow [1 ] = null . NewFloat ( bucketPoint , true )
208
209
if found && derivative .Value != nil {
209
- valueRow [0 ] = derivative .Value
210
+ valueRow [0 ] = null . NewFloat ( * derivative .Value , true )
210
211
} else {
211
212
//use doc_count
212
- point := float64 (bucket .DocCount )
213
- valueRow [0 ] = & point
213
+ valueRow [0 ] = null .NewFloat (float64 (bucket .DocCount ), true )
214
214
}
215
215
values = append (values , valueRow )
216
216
}
0 commit comments