added ability to query tags with isnotnull operator

This commit is contained in:
Ankit Nayan 2021-05-06 17:35:29 +05:30
parent 0f891ccb26
commit 050b57c72b

View File

@ -45,6 +45,12 @@ func buildFilters(queryParams *model.SpanSearchParams) (*godruid.Filter, error)
newFilter := godruid.FilterSelector("Name", queryParams.OperationName)
filter = godruid.FilterAnd(filter, newFilter)
}
if len(queryParams.Kind) != 0 {
newFilter := godruid.FilterSelector("Kind", queryParams.Kind)
filter = godruid.FilterAnd(filter, newFilter)
}
// zap.S().Debug("MinDuration: ", queryParams.MinDuration)
@ -75,6 +81,8 @@ func buildFilters(queryParams *model.SpanSearchParams) (*godruid.Filter, error)
valuesFilter := godruid.FilterSearch("TagsValues", fmt.Sprintf("%s", item.Value))
keysFilter := godruid.FilterSelector("TagsKeys", fmt.Sprintf("%s", item.Key))
newFilter = godruid.FilterAnd(valuesFilter, keysFilter)
} else if item.Operator == "isnotnull" {
newFilter = godruid.FilterSelector("TagsKeys", fmt.Sprintf("%s", item.Key))
} else {
return nil, fmt.Errorf("Tag Operator %s not supported", item.Operator)
}
@ -110,6 +118,12 @@ func buildFiltersForSpansAggregates(queryParams *model.SpanSearchAggregatesParam
newFilter := godruid.FilterSelector("Name", queryParams.OperationName)
filter = godruid.FilterAnd(filter, newFilter)
}
if len(queryParams.Kind) != 0 {
newFilter := godruid.FilterSelector("Kind", queryParams.Kind)
filter = godruid.FilterAnd(filter, newFilter)
}
// zap.S().Debug("MinDuration: ", queryParams.MinDuration)
@ -140,6 +154,8 @@ func buildFiltersForSpansAggregates(queryParams *model.SpanSearchAggregatesParam
valuesFilter := godruid.FilterSearch("TagsValues", fmt.Sprintf("%s", item.Value))
keysFilter := godruid.FilterSelector("TagsKeys", fmt.Sprintf("%s", item.Key))
newFilter = godruid.FilterAnd(valuesFilter, keysFilter)
} else if item.Operator == "isnotnull" {
newFilter = godruid.FilterSelector("TagsKeys", fmt.Sprintf("%s", item.Key))
} else {
return nil, fmt.Errorf("Tag Operator %s not supported", item.Operator)
}