You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2025/08/31 23:38:03 UTC
(skywalking-banyandb) 17/18: Update tag reference creation in trace plan filtering and add new test cases for service instance and endpoint filtering.
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch trace/sidx
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
commit b56d0ea1c589d3dd00866d47e9467521afc704b0
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Mon Sep 1 06:27:13 2025 +0800
Update tag reference creation in trace plan filtering and add new test cases for service instance and endpoint filtering.
---
pkg/query/logical/trace/trace_plan_tag_filter.go | 6 +++++-
test/cases/trace/trace.go | 2 ++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/pkg/query/logical/trace/trace_plan_tag_filter.go b/pkg/query/logical/trace/trace_plan_tag_filter.go
index e68cb2c5..48b1a47c 100644
--- a/pkg/query/logical/trace/trace_plan_tag_filter.go
+++ b/pkg/query/logical/trace/trace_plan_tag_filter.go
@@ -103,8 +103,12 @@ func (uis *unresolvedTraceTagFilter) Analyze(s logical.Schema) (logical.Plan, er
// Create tag references if we have any projection tags
if len(ctx.projectionTags.Names) > 0 {
+ tags := make([]*logical.Tag, len(ctx.projectionTags.Names))
+ for i := range ctx.projectionTags.Names {
+ tags[i] = logical.NewTag("", ctx.projectionTags.Names[i])
+ }
var errProject error
- ctx.projTagsRefs, errProject = s.CreateTagRef(uis.projectionTags...)
+ ctx.projTagsRefs, errProject = s.CreateTagRef(tags)
if errProject != nil {
return nil, errProject
}
diff --git a/test/cases/trace/trace.go b/test/cases/trace/trace.go
index 505da145..de208516 100644
--- a/test/cases/trace/trace.go
+++ b/test/cases/trace/trace.go
@@ -46,4 +46,6 @@ var _ = g.DescribeTable("Scanning Traces", func(args helpers.Args) {
g.Entry("order by timestamp", helpers.Args{Input: "order_timestamp_desc", Duration: 1 * time.Hour}),
g.Entry("order by duration", helpers.Args{Input: "order_duration_desc", Duration: 1 * time.Hour}),
g.Entry("filter by service id", helpers.Args{Input: "eq_service_order_timestamp_desc", Duration: 1 * time.Hour}),
+ g.Entry("filter by service instance id", helpers.Args{Input: "eq_service_instance_order_time_asc", Duration: 1 * time.Hour}),
+ g.Entry("filter by endpoint", helpers.Args{Input: "eq_endpoint_order_duration_asc", Duration: 1 * time.Hour}),
)