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 <[email protected]>
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