mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Elasticsearch: Fix using of interval value in histogram (#65201)
* Elasticsearch: Remove GetMinInterval method that is not used anymore
* Elasticsearch: Fix using of interval value in histogram
* Revert "Elasticsearch: Remove GetMinInterval method that is not used anymore"
This reverts commit a157003902
.
This commit is contained in:
parent
e8bb894a02
commit
66e4b12032
@ -178,7 +178,7 @@ func addDateHistogramAgg(aggBuilder es.AggBuilder, bucketAgg *BucketAgg, timeFro
|
|||||||
|
|
||||||
func addHistogramAgg(aggBuilder es.AggBuilder, bucketAgg *BucketAgg) es.AggBuilder {
|
func addHistogramAgg(aggBuilder es.AggBuilder, bucketAgg *BucketAgg) es.AggBuilder {
|
||||||
aggBuilder.Histogram(bucketAgg.ID, bucketAgg.Field, func(a *es.HistogramAgg, b es.AggBuilder) {
|
aggBuilder.Histogram(bucketAgg.ID, bucketAgg.Field, func(a *es.HistogramAgg, b es.AggBuilder) {
|
||||||
a.Interval = bucketAgg.Settings.Get("interval").MustInt(1000)
|
a.Interval = stringToIntWithDefaultValue(bucketAgg.Settings.Get("interval").MustString(), 1000)
|
||||||
a.MinDocCount = bucketAgg.Settings.Get("min_doc_count").MustInt(0)
|
a.MinDocCount = bucketAgg.Settings.Get("min_doc_count").MustInt(0)
|
||||||
|
|
||||||
if missing, err := bucketAgg.Settings.Get("missing").Int(); err == nil {
|
if missing, err := bucketAgg.Settings.Get("missing").Int(); err == nil {
|
||||||
@ -196,7 +196,7 @@ func addTermsAgg(aggBuilder es.AggBuilder, bucketAgg *BucketAgg, metrics []*Metr
|
|||||||
if size, err := bucketAgg.Settings.Get("size").Int(); err == nil {
|
if size, err := bucketAgg.Settings.Get("size").Int(); err == nil {
|
||||||
a.Size = size
|
a.Size = size
|
||||||
} else {
|
} else {
|
||||||
a.Size = getSizeFromString(bucketAgg.Settings.Get("size").MustString(), defaultSize)
|
a.Size = stringToIntWithDefaultValue(bucketAgg.Settings.Get("size").MustString(), defaultSize)
|
||||||
}
|
}
|
||||||
|
|
||||||
if minDocCount, err := bucketAgg.Settings.Get("min_doc_count").Int(); err == nil {
|
if minDocCount, err := bucketAgg.Settings.Get("min_doc_count").Int(); err == nil {
|
||||||
@ -320,7 +320,7 @@ func processLogsQuery(q *Query, b *es.SearchRequestBuilder, from, to int64, defa
|
|||||||
b.SortDesc(defaultTimeField, "boolean")
|
b.SortDesc(defaultTimeField, "boolean")
|
||||||
b.SortDesc("_doc", "")
|
b.SortDesc("_doc", "")
|
||||||
b.AddDocValueField(defaultTimeField)
|
b.AddDocValueField(defaultTimeField)
|
||||||
b.Size(getSizeFromString(metric.Settings.Get("limit").MustString(), defaultSize))
|
b.Size(stringToIntWithDefaultValue(metric.Settings.Get("limit").MustString(), defaultSize))
|
||||||
b.AddHighlight()
|
b.AddHighlight()
|
||||||
|
|
||||||
// For log query, we add a date histogram aggregation
|
// For log query, we add a date histogram aggregation
|
||||||
@ -345,7 +345,7 @@ func processDocumentQuery(q *Query, b *es.SearchRequestBuilder, from, to int64,
|
|||||||
b.SortDesc(defaultTimeField, "boolean")
|
b.SortDesc(defaultTimeField, "boolean")
|
||||||
b.SortDesc("_doc", "")
|
b.SortDesc("_doc", "")
|
||||||
b.AddDocValueField(defaultTimeField)
|
b.AddDocValueField(defaultTimeField)
|
||||||
b.Size(getSizeFromString(metric.Settings.Get("size").MustString(), defaultSize))
|
b.Size(stringToIntWithDefaultValue(metric.Settings.Get("size").MustString(), defaultSize))
|
||||||
}
|
}
|
||||||
|
|
||||||
func processTimeSeriesQuery(q *Query, b *es.SearchRequestBuilder, from, to int64, defaultTimeField string) {
|
func processTimeSeriesQuery(q *Query, b *es.SearchRequestBuilder, from, to int64, defaultTimeField string) {
|
||||||
@ -441,13 +441,14 @@ func processTimeSeriesQuery(q *Query, b *es.SearchRequestBuilder, from, to int64
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func getSizeFromString(sizeStr string, defaultSize int) int {
|
func stringToIntWithDefaultValue(valueStr string, defaultValue int) int {
|
||||||
size, err := strconv.Atoi(sizeStr)
|
value, err := strconv.Atoi(valueStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
size = defaultSize
|
value = defaultValue
|
||||||
}
|
}
|
||||||
if size == 0 {
|
// In our case, 0 is not a valid value and in this case we default to defaultValue
|
||||||
size = defaultSize
|
if value == 0 {
|
||||||
|
value = defaultValue
|
||||||
}
|
}
|
||||||
return size
|
return value
|
||||||
}
|
}
|
||||||
|
@ -561,7 +561,7 @@ func TestExecuteElasticsearchDataQuery(t *testing.T) {
|
|||||||
"id": "3",
|
"id": "3",
|
||||||
"type": "histogram",
|
"type": "histogram",
|
||||||
"field": "bytes",
|
"field": "bytes",
|
||||||
"settings": { "interval": 10, "min_doc_count": 2, "missing": 5 }
|
"settings": { "interval": "10", "min_doc_count": 2, "missing": 5 }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"metrics": [{"type": "count", "id": "1" }]
|
"metrics": [{"type": "count", "id": "1" }]
|
||||||
@ -587,7 +587,7 @@ func TestExecuteElasticsearchDataQuery(t *testing.T) {
|
|||||||
"id": "3",
|
"id": "3",
|
||||||
"type": "histogram",
|
"type": "histogram",
|
||||||
"field": "bytes",
|
"field": "bytes",
|
||||||
"settings": { "interval": 10, "min_doc_count": 2 }
|
"settings": { "interval": "10", "min_doc_count": 2 }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"metrics": [{"type": "count", "id": "1" }]
|
"metrics": [{"type": "count", "id": "1" }]
|
||||||
|
Loading…
Reference in New Issue
Block a user