This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git


The following commit(s) were added to refs/heads/main by this push:
     new 89ab6274 update trace e2e (#779)
89ab6274 is described below

commit 89ab6274a9781ab0e1a98e6b420be2ee3b363859
Author: Wan Kai <wankai...@foxmail.com>
AuthorDate: Mon Sep 22 12:54:32 2025 +0800

    update trace e2e (#779)
---
 test/e2e-v2/cases/cluster/e2e.yaml                 |   2 +-
 test/e2e-v2/cases/cluster/storage-cases.yaml       | 178 --------------
 .../cases/profiling/trace/expected/traces-list.yml |  27 ---
 .../profiling/trace/expected/traces-v2-list.yml    |  49 ++++
 .../cases/profiling/trace/profiling-cases.yaml     |   6 +-
 ...ty-traces-list.yml => empty-traces-v2-list.yml} |   5 +
 .../cases/storage/expected/trace-users-detail.yml  |  97 --------
 test/e2e-v2/cases/storage/expected/traces-list.yml |  27 ---
 .../cases/storage/expected/traces-v2-list.yml      | 268 +++++++++++++++++++++
 test/e2e-v2/cases/storage/storage-cases.yaml       |  43 ++--
 test/e2e-v2/script/env                             |   4 +-
 11 files changed, 346 insertions(+), 360 deletions(-)

diff --git a/test/e2e-v2/cases/cluster/e2e.yaml 
b/test/e2e-v2/cases/cluster/e2e.yaml
index cb05907d..6ce729dc 100644
--- a/test/e2e-v2/cases/cluster/e2e.yaml
+++ b/test/e2e-v2/cases/cluster/e2e.yaml
@@ -47,4 +47,4 @@ verify:
     interval: 10s
   cases:
   - includes:
-    - storage-cases.yaml
+    - ../storage/storage-cases.yaml
diff --git a/test/e2e-v2/cases/cluster/storage-cases.yaml 
b/test/e2e-v2/cases/cluster/storage-cases.yaml
deleted file mode 100644
index a51195bf..00000000
--- a/test/e2e-v2/cases/cluster/storage-cases.yaml
+++ /dev/null
@@ -1,178 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-cases:
-  # layer list
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql layer ls
-    expected: ../storage/expected/layer.yml
-  # service list
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql service layer GENERAL
-    expected: ../storage/expected/service.yml
-  # service instance list
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql instance list 
--service-name=e2e-service-provider
-    expected: ../storage/expected/service-instance-provider.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql instance list 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/service-instance-consumer.yml
-  # service endpoint
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql endpoint list 
--keyword=users --service-name=e2e-service-provider
-    expected: ../storage/expected/service-endpoint-provider.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql endpoint list 
--keyword=users --service-name=e2e-service-consumer
-    expected: ../storage/expected/service-endpoint-consumer.yml
-  # dependency service
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql dependency service 
--service-name=e2e-service-provider
-    expected: ../storage/expected/dependency-services-provider.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql dependency service 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/dependency-services-consumer.yml
-  # dependency instance
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql dependency instance 
--service-name=e2e-service-consumer --dest-service-name=e2e-service-provider
-    expected: ../storage/expected/dependency-instance.yml
-  # dependency endpoint
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql dependency endpoint 
--service-name=e2e-service-provider --endpoint-name=POST:/users
-    expected: ../storage/expected/dependency-endpoint-provider.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql dependency endpoint 
--service-name=e2e-service-consumer --endpoint-name=POST:/users
-    expected: ../storage/expected/dependency-endpoint-consumer.yml
-  # trace segment list
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql trace ls
-    expected: ../storage/expected/traces-list.yml
-  # negative tags search: relationship should be logical AND instead of 
logical OR
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql trace ls --tags 
http.method=POST,http.status_code=201
-    expected: ../storage/expected/empty-traces-list.yml
-  # trace detail
-  - query: |
-      swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql 
trace $( \
-        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql trace ls \
-          | yq e '.traces | select(.[].endpointnames[0]=="POST:/users") | 
.[0].traceids[0]' -
-      )
-    expected: ../storage/expected/trace-users-detail.yml
-  # service metrics
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics single 
--name=service_sla --service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-single-sla.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics nullable 
--name=service_sla --service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-nullable-single-sla.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics nullable 
--name=service_sla --service-name=e2e-service-provider --start "2023-01-08" 
--end "2023-01-09"
-    expected: ../storage/expected/metrics-nullable-single-sla-empty.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics sorted --name 
service_apdex 5
-    expected: ../storage/expected/metrics-top-service.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics top --name 
service_sla 5
-    expected: ../storage/expected/metrics-top-service.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=service_sla --service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=service_cpm --service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=service_resp_time --service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=service_apdex --service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=service_sla --service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=service_cpm --service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=service_resp_time --service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=service_apdex --service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  # service instance metrics
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=service_instance_resp_time --instance-name=consumer1 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=service_instance_cpm --instance-name=consumer1 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=service_instance_sla --instance-name=consumer1 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  # service instance JVM metrics
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_memory_heap --instance-name=consumer1 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_memory_heap_max --instance-name=consumer1 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_memory_noheap --instance-name=consumer1 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_thread_live_count --instance-name=consumer1 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_thread_daemon_count --instance-name=consumer1 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_thread_peak_count --instance-name=consumer1 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_thread_runnable_state_thread_count 
--instance-name=consumer1 --service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_class_loaded_class_count --instance-name=consumer1 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_class_total_loaded_class_count 
--instance-name=consumer1 --service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_memory_heap --instance-name=provider1 
--service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_memory_heap_max --instance-name=provider1 
--service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_memory_noheap --instance-name=provider1 
--service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_thread_live_count --instance-name=provider1 
--service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_thread_daemon_count --instance-name=provider1 
--service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_thread_peak_count --instance-name=provider1 
--service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_thread_runnable_state_thread_count 
--instance-name=provider1 --service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_class_loaded_class_count --instance-name=provider1 
--service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=instance_jvm_class_total_loaded_class_count 
--instance-name=provider1 --service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  # service endpoint metrics
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=endpoint_cpm --endpoint-name=POST:/users 
--service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=endpoint_resp_time --endpoint-name=POST:/users 
--service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=endpoint_sla --endpoint-name=POST:/users 
--service-name=e2e-service-provider
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=endpoint_cpm --endpoint-name=POST:/users 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=endpoint_resp_time --endpoint-name=POST:/users 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=endpoint_sla --endpoint-name=POST:/users 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value.yml
-  # service endpoint metrics percentile
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=endpoint_percentile --endpoint-name=POST:/users 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value-percentile.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=endpoint_percentile --endpoint-name=POST:/users 
--service-name=e2e-service-consumer
-    expected: ../storage/expected/metrics-has-value-percentile.yml
-  # Endpoint TopN with service_id
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics top --name 
endpoint_cpm --service-name e2e-service-provider 5
-    expected: ../storage/expected/metrics-top-endpoint.yml
-  # native event: event list
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql event list
-    expected: ../storage/expected/event-list.yml
-
-  - query: |
-      curl -s -XPOST http://${provider_host}:${provider_9090}/users -d 
'{"id":"123","name":"SinglesBar"}' -H "Content-Type: application/json" > 
/dev/null;
-      sleep 5;
-      swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql 
trace $( \
-        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql trace ls --order startTime 
--service-name "e2e-service-provider" --endpoint-name "POST:/users" \
-          | yq e '.traces[0].traceids[0]' - \
-      )
-    expected: ../storage/expected/trace-users-detail.yml
-  # topN-OP-service Global
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(service_resp_time,3,des)"
-    expected: ../storage/expected/topN-OP-service.yml
-    # topN-OP-service Global with attrs
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(service_resp_time,3,des,attr0='GENERAL')"
-    expected: ../storage/expected/topN-OP-service.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(service_resp_time,3,des,attr0!='Not_GENERAL')"
-    expected: ../storage/expected/topN-OP-service.yml
-  # topN-OP-endpoint Global
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(endpoint_resp_time,3,des)"
-    expected: ../storage/expected/topN-OP-endpoint.yml
-    # topN-OP-endpoint Global with attrs
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(endpoint_resp_time,3,des,attr0='GENERAL')"
-    expected: ../storage/expected/topN-OP-endpoint.yml
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(endpoint_resp_time,3,des,attr0!='Not_GENERAL')"
-    expected: ../storage/expected/topN-OP-endpoint.yml
diff --git a/test/e2e-v2/cases/profiling/trace/expected/traces-list.yml 
b/test/e2e-v2/cases/profiling/trace/expected/traces-list.yml
deleted file mode 100644
index c9a97166..00000000
--- a/test/e2e-v2/cases/profiling/trace/expected/traces-list.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-debuggingtrace: null
-traces:
-{{- contains .traces }}
-- segmentid: {{ notEmpty .segmentid }}
-  endpointnames:
-    - POST:/profile/{name}
-  duration: {{ ge .duration 0 }}
-  start: "{{ notEmpty .start}}"
-  iserror: false
-  traceids:
-    - {{ (index .traceids 0) }}
-{{- end }}
diff --git a/test/e2e-v2/cases/profiling/trace/expected/traces-v2-list.yml 
b/test/e2e-v2/cases/profiling/trace/expected/traces-v2-list.yml
new file mode 100644
index 00000000..f576ee63
--- /dev/null
+++ b/test/e2e-v2/cases/profiling/trace/expected/traces-v2-list.yml
@@ -0,0 +1,49 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+debuggingtrace: null
+retrievedtimerange:
+  {{- with .retrievedtimerange }}
+  starttime: {{ gt .starttime 0 }}
+  endtime: {{ gt .endtime 0 }}
+  {{- end }}
+traces:
+  {{- contains .traces }}
+  - spans:
+    {{- contains .spans }}
+    - traceid: {{ .traceid }}
+      segmentid: {{ .segmentid }}
+      spanid: {{ .spanid }}
+      parentspanid: {{ .parentspanid }}
+      refs: []
+      servicecode: {{ .servicecode }}
+      serviceinstancename: {{ .serviceinstancename }}
+      starttime: {{ gt .starttime 0 }}
+      endtime: {{ gt .endtime 0 }}
+      endpointname: {{ .endpointname }}
+      type: {{ .type }}
+      peer: {{ .peer }}
+      component: {{ .component }}
+      iserror: {{ .iserror }}
+      layer: {{ .layer }}
+      tags:
+        {{- contains .tags }}
+        - key: {{ .key }}
+          value: {{ .value }}
+        {{- end }}
+      logs: []
+      attachedevents: []
+    {{- end }}
+    {{- end }}
diff --git a/test/e2e-v2/cases/profiling/trace/profiling-cases.yaml 
b/test/e2e-v2/cases/profiling/trace/profiling-cases.yaml
index 69fc6557..70e13743 100644
--- a/test/e2e-v2/cases/profiling/trace/profiling-cases.yaml
+++ b/test/e2e-v2/cases/profiling/trace/profiling-cases.yaml
@@ -16,12 +16,12 @@
 # This file is used to show how to write configuration files and can be used 
to test.
 
   cases:
-    # trace segment list
+  # trace list
     - query: |
         curl -s -XPOST 
http://${provider_host}:${provider_9090}/profile/users?e2e=true -d 
'{"enableProfiling":"false","name":"SkyWalking"}' -H "Content-Type: 
application/json" > /dev/null;
         sleep 3;
-        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql trace ls 
--service-name=e2e-service-provider
-      expected: expected/traces-list.yml
+        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql tv2 ls 
--service-name=e2e-service-provider
+      expected: expected/traces-v2-list.yml
     # service list
     - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql service ls
       expected: expected/service.yml
diff --git a/test/e2e-v2/cases/storage/expected/empty-traces-list.yml 
b/test/e2e-v2/cases/storage/expected/empty-traces-v2-list.yml
similarity index 85%
rename from test/e2e-v2/cases/storage/expected/empty-traces-list.yml
rename to test/e2e-v2/cases/storage/expected/empty-traces-v2-list.yml
index dc5da0f3..5e5c6ad4 100644
--- a/test/e2e-v2/cases/storage/expected/empty-traces-list.yml
+++ b/test/e2e-v2/cases/storage/expected/empty-traces-v2-list.yml
@@ -14,4 +14,9 @@
 # limitations under the License.
 
 debuggingtrace: null
+retrievedtimerange:
+  {{- with .retrievedtimerange }}
+  starttime: {{ gt .starttime 0 }}
+  endtime: {{ gt .endtime 0 }}
+  {{- end }}
 traces: []
diff --git a/test/e2e-v2/cases/storage/expected/trace-users-detail.yml 
b/test/e2e-v2/cases/storage/expected/trace-users-detail.yml
deleted file mode 100644
index 43b94eda..00000000
--- a/test/e2e-v2/cases/storage/expected/trace-users-detail.yml
+++ /dev/null
@@ -1,97 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-debuggingtrace: null
-spans:
-  {{- contains .spans }}
-  - traceid: {{ .traceid }}
-    segmentid: {{ .segmentid }}
-    spanid: {{ .spanid }}
-    parentspanid: {{ .parentspanid }}
-    refs: []
-    servicecode: e2e-service-consumer
-    serviceinstancename: consumer1
-    starttime: {{ gt .starttime 0 }}
-    endtime: {{ gt .endtime 0 }}
-    endpointname: POST:/users
-    type: Entry
-    peer: ""
-    component: Tomcat
-    iserror: false
-    layer: Http
-    tags:
-      {{- contains .tags }}
-      - key: http.method
-        value: POST
-      - key: url
-        value: {{ notEmpty .value }}
-      {{- end }}
-    logs: []
-    attachedevents: []
-  - traceid: {{ notEmpty .traceid }}
-    segmentid: {{ .segmentid }}
-    spanid: {{ .spanid }}
-    parentspanid: {{ .parentspanid }}
-    refs: []
-    servicecode: e2e-service-consumer
-    serviceinstancename: consumer1
-    starttime: {{ gt .starttime 0 }}
-    endtime: {{ gt .endtime 0 }}
-    endpointname: /users
-    type: Exit
-    peer: provider:9090
-    component: SpringRestTemplate
-    iserror: false
-    layer: Http
-    tags:
-      {{- contains .tags }}
-      - key: http.method
-        value: POST
-      - key: url
-        value: {{ notEmpty .value }}
-      {{- end }}
-    logs: []
-    attachedevents: []
-  - traceid: {{ notEmpty .traceid }}
-    segmentid: {{ .segmentid }}
-    spanid: {{ .spanid }}
-    parentspanid: {{ .parentspanid }}
-    refs:
-      {{- contains .refs }}
-      - traceid: {{ notEmpty .traceid }}
-        parentsegmentid: {{ .parentsegmentid }}
-        parentspanid: 1
-        type: CROSS_PROCESS
-      {{- end }}
-    servicecode: e2e-service-provider
-    serviceinstancename: provider1
-    starttime: {{ gt .starttime 0 }}
-    endtime: {{ gt .endtime 0 }}
-    endpointname: POST:/users
-    type: Entry
-    peer: ""
-    component: Tomcat
-    iserror: false
-    layer: Http
-    tags:
-      {{- contains .tags }}
-      - key: http.method
-        value: POST
-      - key: url
-        value: {{ notEmpty .value }}
-      {{- end }}
-    logs: []
-    attachedevents: []
-  {{- end }}
diff --git a/test/e2e-v2/cases/storage/expected/traces-list.yml 
b/test/e2e-v2/cases/storage/expected/traces-list.yml
deleted file mode 100644
index ce35744b..00000000
--- a/test/e2e-v2/cases/storage/expected/traces-list.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-debuggingtrace: null
-traces:
-{{- contains .traces }}
-- segmentid: {{ notEmpty .segmentid }}
-  endpointnames:
-    - POST:/users
-  duration: {{ ge .duration 0 }}
-  start: "{{ notEmpty .start}}"
-  iserror: false
-  traceids:
-    - {{ index .traceids 0 }}
-{{- end }}
diff --git a/test/e2e-v2/cases/storage/expected/traces-v2-list.yml 
b/test/e2e-v2/cases/storage/expected/traces-v2-list.yml
new file mode 100644
index 00000000..4e4e2ed6
--- /dev/null
+++ b/test/e2e-v2/cases/storage/expected/traces-v2-list.yml
@@ -0,0 +1,268 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+debuggingtrace: null
+retrievedtimerange:
+  {{- with .retrievedtimerange }}
+  starttime: {{ gt .starttime 0 }}
+  endtime: {{ gt .endtime 0 }}
+  {{- end }}
+traces:
+  {{- contains .traces }}
+- spans:
+  {{- contains .spans }}
+  - traceid: {{ .traceid }}
+    segmentid: {{ .segmentid }}
+    spanid: 0
+    parentspanid: -1
+    refs: []
+    servicecode: e2e-service-consumer
+    serviceinstancename: consumer1
+    starttime: {{ gt .starttime 0 }}
+    endtime: {{ gt .endtime 0 }}
+    endpointname: POST:/users
+    type: Entry
+    peer: ""
+    component: Tomcat
+    iserror: false
+    layer: Http
+    tags:
+      {{- contains .tags }}
+      - key: url
+        value: {{ notEmpty .value }}
+      - key: http.method
+        value: POST
+      - key: http.status_code
+        value: "200"
+      {{- end }}
+    logs: []
+    attachedevents: []
+  - traceid: {{ .traceid }}
+    segmentid: {{ .segmentid }}
+    spanid: 1
+    parentspanid: 0
+    refs: []
+    servicecode: e2e-service-consumer
+    serviceinstancename: consumer1
+    starttime: {{ gt .starttime 0 }}
+    endtime: {{ gt .endtime 0 }}
+    endpointname: /users
+    type: Exit
+    peer: provider:9090
+    component: SpringRestTemplate
+    iserror: false
+    layer: Http
+    tags:
+      {{- contains .tags }}
+      - key: url
+        value: {{ notEmpty .value }}
+      - key: http.method
+        value: POST
+      - key: http.status_code
+        value: "200"
+      {{- end }}
+    logs: []
+    attachedevents: []
+  - traceid: {{ .traceid }}
+    segmentid: {{ .segmentid }}
+    spanid: 0
+    parentspanid: -1
+    refs:
+      {{- contains .refs }}
+      - traceid: {{ notEmpty .traceid }}
+        parentsegmentid: {{ .parentsegmentid }}
+        parentspanid: 1
+        type: CROSS_PROCESS
+      {{- end }}
+    servicecode: e2e-service-provider
+    serviceinstancename: provider1
+    starttime: {{ gt .starttime 0 }}
+    endtime: {{ gt .endtime 0 }}
+    endpointname: POST:/users
+    type: Entry
+    peer: ""
+    component: Tomcat
+    iserror: false
+    layer: Http
+    tags:
+      {{- contains .tags }}
+      - key: url
+        value: {{ notEmpty .value }}
+      - key: http.method
+        value: POST
+      - key: http.status_code
+        value: "200"
+      {{- end }}
+    logs: []
+    attachedevents: []
+  - traceid: {{ .traceid }}
+    segmentid: {{ .segmentid }}
+    spanid: 1
+    parentspanid: 0
+    refs: []
+    servicecode: e2e-service-provider
+    serviceinstancename: provider1
+    starttime: {{ gt .starttime 0 }}
+    endtime: {{ gt .endtime 0 }}
+    endpointname: HikariCP/Connection/getConnection
+    type: Local
+    peer: ""
+    component: HikariCP
+    iserror: false
+    layer: Unknown
+    tags: []
+    logs: []
+    attachedevents: []
+  - traceid: {{ .traceid }}
+    segmentid: {{ .segmentid }}
+    spanid: 2
+    parentspanid: 0
+    refs: []
+    servicecode: e2e-service-provider
+    serviceinstancename: provider1
+    starttime: {{ gt .starttime 0 }}
+    endtime: {{ gt .endtime 0 }}
+    endpointname: H2/JDBC/PreparedStatement/executeQuery
+    type: Exit
+    peer: localhost:-1
+    component: h2-jdbc-driver
+    iserror: false
+    layer: Database
+    tags:
+      - key: db.type
+        value: H2
+      - key: db.instance
+        value: testdb
+      - key: db.statement
+        value: select user0_.id as id1_0_0_, user0_.name as name2_0_0_ from 
users user0_
+          where user0_.id=?
+    logs: []
+    attachedevents: []
+  - traceid: {{ .traceid }}
+    segmentid: {{ .segmentid }}
+    spanid: 3
+    parentspanid: 0
+    refs: []
+    servicecode: e2e-service-provider
+    serviceinstancename: provider1
+    starttime: {{ gt .starttime 0 }}
+    endtime: {{ gt .endtime 0 }}
+    endpointname: H2/JDBC/PreparedStatement/executeQuery
+    type: Exit
+    peer: localhost:-1
+    component: h2-jdbc-driver
+    iserror: false
+    layer: Database
+    tags:
+      - key: db.type
+        value: H2
+      - key: db.instance
+        value: testdb
+      - key: db.statement
+        value: call next value for hibernate_sequence
+    logs: []
+    attachedevents: []
+  - traceid: {{ .traceid }}
+    segmentid: {{ .segmentid }}
+    spanid: 4
+    parentspanid: 0
+    refs: []
+    servicecode: e2e-service-provider
+    serviceinstancename: provider1
+    starttime: {{ gt .starttime 0 }}
+    endtime: {{ gt .endtime 0 }}
+    endpointname: H2/JDBC/PreparedStatement/executeUpdate
+    type: Exit
+    peer: localhost:-1
+    component: h2-jdbc-driver
+    iserror: false
+    layer: Database
+    tags:
+      - key: db.type
+        value: H2
+      - key: db.instance
+        value: testdb
+      - key: db.statement
+        value: insert into users (name, id) values (?, ?)
+    logs: []
+    attachedevents: []
+  - traceid: {{ .traceid }}
+    segmentid: {{ .segmentid }}
+    spanid: 5
+    parentspanid: 0
+    refs: []
+    servicecode: e2e-service-provider
+    serviceinstancename: provider1
+    starttime: {{ gt .starttime 0 }}
+    endtime: {{ gt .endtime 0 }}
+    endpointname: H2/JDBC/Connection/commit
+    type: Exit
+    peer: localhost:-1
+    component: h2-jdbc-driver
+    iserror: false
+    layer: Database
+    tags:
+      - key: db.type
+        value: H2
+      - key: db.instance
+        value: testdb
+      - key: db.statement
+        value: ""
+    logs: []
+    attachedevents: []
+  - traceid: {{ .traceid }}
+    segmentid: {{ .segmentid }}
+    spanid: 6
+    parentspanid: 0
+    refs: []
+    servicecode: e2e-service-provider
+    serviceinstancename: provider1
+    starttime: {{ gt .starttime 0 }}
+    endtime: {{ gt .endtime 0 }}
+    endpointname: H2/JDBC/Connection/commit
+    type: Exit
+    peer: localhost:-1
+    component: h2-jdbc-driver
+    iserror: false
+    layer: Database
+    tags:
+      - key: db.type
+        value: H2
+      - key: db.instance
+        value: testdb
+      - key: db.statement
+        value: ""
+    logs: []
+    attachedevents: []
+  - traceid: {{ .traceid }}
+    segmentid: {{ .segmentid }}
+    spanid: 7
+    parentspanid: 0
+    refs: []
+    servicecode: e2e-service-provider
+    serviceinstancename: provider1
+    starttime: {{ gt .starttime 0 }}
+    endtime: {{ gt .endtime 0 }}
+    endpointname: HikariCP/Connection/close
+    type: Local
+    peer: ""
+    component: HikariCP
+    iserror: false
+    layer: Unknown
+    tags: []
+    logs: []
+    attachedevents: []
+  {{- end }}
+  {{- end }}
diff --git a/test/e2e-v2/cases/storage/storage-cases.yaml 
b/test/e2e-v2/cases/storage/storage-cases.yaml
index 74fa7a85..e2e7ba11 100644
--- a/test/e2e-v2/cases/storage/storage-cases.yaml
+++ b/test/e2e-v2/cases/storage/storage-cases.yaml
@@ -43,19 +43,6 @@ cases:
     expected: expected/dependency-endpoint-provider.yml
   - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql dependency endpoint 
--service-name=e2e-service-consumer --endpoint-name=POST:/users
     expected: expected/dependency-endpoint-consumer.yml
-  # trace segment list
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql trace ls
-    expected: expected/traces-list.yml
-  # negative tags search: relationship should be logical AND instead of 
logical OR
-  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql trace ls --tags 
http.method=POST,http.status_code=201
-    expected: expected/empty-traces-list.yml
-  # trace detail
-  - query: |
-      swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql 
trace $( \
-        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql trace ls \
-          | yq e '.traces | select(.[].endpointnames[0]=="POST:/users") | 
.[0].traceids[0]' -
-      )
-    expected: expected/trace-users-detail.yml
   # service metrics
   - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics single 
--name=service_sla --service-name=e2e-service-provider
     expected: expected/metrics-single-sla.yml
@@ -145,25 +132,16 @@ cases:
     expected: expected/metrics-has-value-percentile.yml
   - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=endpoint_percentile --endpoint-name=POST:/users 
--service-name=e2e-service-consumer
     expected: expected/metrics-has-value-percentile.yml
-  # Endpoint TopN with service_id
+  # endpoint TopN with service_id
   - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics top --name 
endpoint_cpm --service-name e2e-service-provider 5
     expected: expected/metrics-top-endpoint.yml
   # native event: event list
   - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql event list
     expected: expected/event-list.yml
-
-  - query: |
-      curl -s -XPOST http://${provider_host}:${provider_9090}/users -d 
'{"id":"123","name":"SinglesBar"}' -H "Content-Type: application/json" > 
/dev/null;
-      sleep 5;
-      swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql 
trace $( \
-        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql trace ls --order startTime 
--service-name "e2e-service-provider" --endpoint-name "POST:/users" \
-          | yq e '.traces[0].traceids[0]' - \
-      )
-    expected: expected/trace-users-detail.yml
   # topN-OP-service Global
   - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(service_resp_time,3,des)"
     expected: expected/topN-OP-service.yml
-    # topN-OP-service Global with attrs
+  # topN-OP-service Global with attrs
   - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(service_resp_time,3,des,attr0='GENERAL')"
     expected: expected/topN-OP-service.yml
   - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(service_resp_time,3,des,attr0!='Not_GENERAL')"
@@ -171,8 +149,23 @@ cases:
   # topN-OP-endpoint Global
   - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(endpoint_resp_time,3,des)"
     expected: expected/topN-OP-endpoint.yml
-    # topN-OP-endpoint Global with attrs
+  # topN-OP-endpoint Global with attrs
   - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(endpoint_resp_time,3,des,attr0='GENERAL')"
     expected: expected/topN-OP-endpoint.yml
   - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(endpoint_resp_time,3,des,attr0!='Not_GENERAL')"
     expected: expected/topN-OP-endpoint.yml
+  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(service_resp_time,3,des,attr0='GENERAL',attr1!='Not_exist')/100"
+    expected: expected/topN-OP-service.yml
+  # trace
+  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql tv2 ls
+    expected: expected/traces-v2-list.yml
+  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql tv2 ls 
--service-name=e2e-service-provider
+    expected: expected/traces-v2-list.yml
+  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql tv2 ls 
--service-name=e2e-service-consumer
+    expected: expected/traces-v2-list.yml
+  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql tv2 ls 
--service-name=e2e-service-consumer --endpoint-name=POST:/users
+    expected: expected/traces-v2-list.yml
+  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql tv2 ls --tags 
http.method=POST
+    expected: expected/traces-v2-list.yml
+  - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql tv2 ls --tags 
http.method=POST,http.status_code=201
+    expected: expected/empty-traces-v2-list.yml
\ No newline at end of file
diff --git a/test/e2e-v2/script/env b/test/e2e-v2/script/env
index 790a3cda..71747793 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/script/env
@@ -26,7 +26,7 @@ SW_ROVER_COMMIT=4c0cb8429a96f190ea30eac1807008d523c749c3
 SW_AGENT_PHP_COMMIT=3192c553002707d344bd6774cfab5bc61f67a1d3
 SW_PREDICTOR_COMMIT=54a0197654a3781a6f73ce35146c712af297c994
 
-SW_OAP_COMMIT=a2a67ca63084cddf82303155c185e3c24cf07eef
+SW_OAP_COMMIT=88aa16feb72252c1bfe16a19412f7ed460349f8b
 SW_AGENT_E2E_SERVICE_PROVIDER_COMMIT=a2a67ca63084cddf82303155c185e3c24cf07eef
-SW_CTL_COMMIT=77b4c49e89c9c000278f44e62729d534f2ec842e
+SW_CTL_COMMIT=3b675df73824bbb80e6aabf6a95d110feb37b6b1
 SW_TRACE_MOCKER_COMMIT=a2a67ca63084cddf82303155c185e3c24cf07eef
\ No newline at end of file


Reply via email to