chore: moving primary shard filter from aggregations to query (#31)
This commit is contained in:
parent
a08e33a570
commit
e018f15f73
|
@ -119,30 +119,6 @@ func (h *APIHandler) getIndexMetrics(ctx context.Context, req *http.Request, clu
|
||||||
}
|
}
|
||||||
|
|
||||||
query:=map[string]interface{}{}
|
query:=map[string]interface{}{}
|
||||||
query["query"]=util.MapStr{
|
|
||||||
"bool": util.MapStr{
|
|
||||||
"must": must,
|
|
||||||
"must_not": []util.MapStr{
|
|
||||||
{
|
|
||||||
"term": util.MapStr{
|
|
||||||
"metadata.labels.index_name": util.MapStr{
|
|
||||||
"value": "_all",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"filter": []util.MapStr{
|
|
||||||
{
|
|
||||||
"range": util.MapStr{
|
|
||||||
"timestamp": util.MapStr{
|
|
||||||
"gte": min,
|
|
||||||
"lte": max,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
indexMetricItems := []GroupMetricItem{}
|
indexMetricItems := []GroupMetricItem{}
|
||||||
switch metricKey {
|
switch metricKey {
|
||||||
case v1.IndexStorageMetricKey:
|
case v1.IndexStorageMetricKey:
|
||||||
|
@ -617,7 +593,6 @@ func (h *APIHandler) getIndexMetrics(ctx context.Context, req *http.Request, clu
|
||||||
|
|
||||||
aggs:=map[string]interface{}{}
|
aggs:=map[string]interface{}{}
|
||||||
sumAggs := util.MapStr{}
|
sumAggs := util.MapStr{}
|
||||||
var filterSubAggs = util.MapStr{}
|
|
||||||
|
|
||||||
for _,metricItem:=range indexMetricItems {
|
for _,metricItem:=range indexMetricItems {
|
||||||
leafAgg := util.MapStr{
|
leafAgg := util.MapStr{
|
||||||
|
@ -626,22 +601,7 @@ func (h *APIHandler) getIndexMetrics(ctx context.Context, req *http.Request, clu
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
var sumBucketPath = "term_shard>"+ metricItem.ID
|
var sumBucketPath = "term_shard>"+ metricItem.ID
|
||||||
if metricItem.MetricItem.OnlyPrimary {
|
aggs[metricItem.ID]= leafAgg
|
||||||
filterSubAggs[metricItem.ID] = leafAgg
|
|
||||||
aggs["filter_pri"]=util.MapStr{
|
|
||||||
"filter": util.MapStr{
|
|
||||||
"term": util.MapStr{
|
|
||||||
"payload.elasticsearch.shard_stats.routing.primary": util.MapStr{
|
|
||||||
"value": true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"aggs": filterSubAggs,
|
|
||||||
}
|
|
||||||
sumBucketPath = "term_shard>filter_pri>"+ metricItem.ID
|
|
||||||
}else{
|
|
||||||
aggs[metricItem.ID]= leafAgg
|
|
||||||
}
|
|
||||||
|
|
||||||
sumAggs[metricItem.ID] = util.MapStr{
|
sumAggs[metricItem.ID] = util.MapStr{
|
||||||
"sum_bucket": util.MapStr{
|
"sum_bucket": util.MapStr{
|
||||||
|
@ -655,11 +615,7 @@ func (h *APIHandler) getIndexMetrics(ctx context.Context, req *http.Request, clu
|
||||||
"field": metricItem.Field2,
|
"field": metricItem.Field2,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
if metricItem.MetricItem.OnlyPrimary {
|
aggs[metricItem.ID+"_field2"] = leafAgg2
|
||||||
filterSubAggs[metricItem.ID+"_field2"] = leafAgg2
|
|
||||||
}else{
|
|
||||||
aggs[metricItem.ID+"_field2"] = leafAgg2
|
|
||||||
}
|
|
||||||
sumAggs[metricItem.ID + "_field2"] = util.MapStr{
|
sumAggs[metricItem.ID + "_field2"] = util.MapStr{
|
||||||
"sum_bucket": util.MapStr{
|
"sum_bucket": util.MapStr{
|
||||||
"buckets_path": sumBucketPath + "_field2",
|
"buckets_path": sumBucketPath + "_field2",
|
||||||
|
@ -695,6 +651,40 @@ func (h *APIHandler) getIndexMetrics(ctx context.Context, req *http.Request, clu
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//we can do this because we are querying one metric once time
|
||||||
|
if indexMetricItems[0].MetricItem.OnlyPrimary {
|
||||||
|
must = append(must, util.MapStr{
|
||||||
|
"term": util.MapStr{
|
||||||
|
"payload.elasticsearch.shard_stats.routing.primary": util.MapStr{
|
||||||
|
"value": true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
query["query"]=util.MapStr{
|
||||||
|
"bool": util.MapStr{
|
||||||
|
"must": must,
|
||||||
|
"must_not": []util.MapStr{
|
||||||
|
{
|
||||||
|
"term": util.MapStr{
|
||||||
|
"metadata.labels.index_name": util.MapStr{
|
||||||
|
"value": "_all",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"filter": []util.MapStr{
|
||||||
|
{
|
||||||
|
"range": util.MapStr{
|
||||||
|
"timestamp": util.MapStr{
|
||||||
|
"gte": min,
|
||||||
|
"lte": max,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
query["size"]=0
|
query["size"]=0
|
||||||
query["aggs"]= util.MapStr{
|
query["aggs"]= util.MapStr{
|
||||||
"group_by_level": util.MapStr{
|
"group_by_level": util.MapStr{
|
||||||
|
|
Loading…
Reference in New Issue