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}),
 )