From 409929841dabf64d9b79e0e270d4510a025559a3 Mon Sep 17 00:00:00 2001 From: Ankit Nayan Date: Sun, 2 May 2021 16:50:54 +0530 Subject: [PATCH] added statusCode filter for error:true filter in searchSpans --- pkg/query-service/druidQuery/query.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkg/query-service/druidQuery/query.go b/pkg/query-service/druidQuery/query.go index 88ebafe83d..bb107e7624 100644 --- a/pkg/query-service/druidQuery/query.go +++ b/pkg/query-service/druidQuery/query.go @@ -79,6 +79,13 @@ func buildFilters(queryParams *model.SpanSearchParams) (*godruid.Filter, error) return nil, fmt.Errorf("Tag Operator %s not supported", item.Operator) } + if item.Key == "error" && item.Value == "true" { + statusCodeFilter := godruid.FilterBound("StatusCode", "500", "600", false, true, "numeric") + filterError := godruid.FilterOr(statusCodeFilter, newFilter) + filter = godruid.FilterAnd(filter, filterError) + continue + } + filter = godruid.FilterAnd(filter, newFilter) } @@ -137,6 +144,13 @@ func buildFiltersForSpansAggregates(queryParams *model.SpanSearchAggregatesParam return nil, fmt.Errorf("Tag Operator %s not supported", item.Operator) } + if item.Key == "error" && item.Value == "true" { + statusCodeFilter := godruid.FilterBound("StatusCode", "500", "600", false, true, "numeric") + filterError := godruid.FilterOr(statusCodeFilter, newFilter) + filter = godruid.FilterAnd(filter, filterError) + continue + } + filter = godruid.FilterAnd(filter, newFilter) }