You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2022/01/06 07:11:27 UTC
[skywalking] branch master updated: Fix query sort metrics failure in H2 storage (#8393)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new e97b2d2 Fix query sort metrics failure in H2 storage (#8393)
e97b2d2 is described below
commit e97b2d2165703c9d5bcdb0556134aa7cbd1382f5
Author: mrproliu <74...@qq.com>
AuthorDate: Thu Jan 6 15:11:05 2022 +0800
Fix query sort metrics failure in H2 storage (#8393)
* Fix sort metrics failured in H2 storage
* Fix postgre DB
---
CHANGES.md | 1 +
.../plugin/jdbc/h2/dao/H2AggregationQueryDAO.java | 3 +-
.../dao/PostgreSQLAggregationQueryDAO.java | 2 +-
.../postgresql/dao/PostgreSQLMetricsQueryDAO.java | 2 +-
test/e2e-v2/cases/storage/es/e2e.yaml | 88 +----------------
.../storage/expected/metrics-top-service-sla.yml | 25 +++++
test/e2e-v2/cases/storage/h2/e2e.yaml | 88 +----------------
test/e2e-v2/cases/storage/influxdb/e2e.yaml | 88 +----------------
test/e2e-v2/cases/storage/iotdb/e2e.yaml | 88 +----------------
test/e2e-v2/cases/storage/mysql/e2e.yaml | 88 +----------------
test/e2e-v2/cases/storage/opensearch/e2e.yaml | 88 +----------------
test/e2e-v2/cases/storage/postgres/e2e.yaml | 88 +----------------
test/e2e-v2/cases/storage/storage-cases.yaml | 104 +++++++++++++++++++++
test/e2e-v2/cases/storage/tidb/e2e.yaml | 88 +----------------
14 files changed, 149 insertions(+), 692 deletions(-)
diff --git a/CHANGES.md b/CHANGES.md
index 78dd266..0aa1be8 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -23,6 +23,7 @@ Release Notes.
* Upgrade H2 version to 2.0.202 to fix CVE-2021-23463.
* Extend column name override mechanism working for `ValueColumnMetadata`.
* Introduce new concept `Layer` and removed `NodeType`. More details refer to [v9-version-upgrade](https://skywalking.apache.org/docs/main/latest/en/faq/v9-version-upgrade/).
+* Fix query sort metrics failure in H2 Storage.
#### UI
diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2AggregationQueryDAO.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2AggregationQueryDAO.java
index 97fddf5..897c66c 100644
--- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2AggregationQueryDAO.java
+++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2AggregationQueryDAO.java
@@ -61,8 +61,7 @@ public class H2AggregationQueryDAO implements IAggregationQueryDAO {
});
}
sql.append(" group by ").append(Metrics.ENTITY_ID);
- sql.append(") as T order by ")
- .append(valueColumnName)
+ sql.append(") as T order by result")
.append(metrics.getOrder().equals(Order.ASC) ? " asc" : " desc")
.append(" limit ")
.append(metrics.getTopN());
diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/dao/PostgreSQLAggregationQueryDAO.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/dao/PostgreSQLAggregationQueryDAO.java
index a29ba34..6ad6eb3 100644
--- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/dao/PostgreSQLAggregationQueryDAO.java
+++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/dao/PostgreSQLAggregationQueryDAO.java
@@ -33,7 +33,7 @@ public class PostgreSQLAggregationQueryDAO extends H2AggregationQueryDAO {
StringBuilder sql = new StringBuilder();
sql.append("select * from (select avg(")
.append(valueColumnName)
- .append(") as value,")
+ .append(") as result,")
.append(Metrics.ENTITY_ID)
.append(" from ")
.append(metricsName)
diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/dao/PostgreSQLMetricsQueryDAO.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/dao/PostgreSQLMetricsQueryDAO.java
index 8c7a4d9..3606da6 100644
--- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/dao/PostgreSQLMetricsQueryDAO.java
+++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/dao/PostgreSQLMetricsQueryDAO.java
@@ -31,6 +31,6 @@ public class PostgreSQLMetricsQueryDAO extends H2MetricsQueryDAO {
@Override
protected StringBuilder buildMetricsValueSql(String op, String valueColumnName, String conditionName) {
return new StringBuilder(
- "select " + Metrics.ENTITY_ID + " id, " + op + "(" + valueColumnName + ") as value from " + conditionName + " where ");
+ "select " + Metrics.ENTITY_ID + " id, " + op + "(" + valueColumnName + ") as result from " + conditionName + " where ");
}
}
diff --git a/test/e2e-v2/cases/storage/es/e2e.yaml b/test/e2e-v2/cases/storage/es/e2e.yaml
index 73f746c..7255ea3 100644
--- a/test/e2e-v2/cases/storage/es/e2e.yaml
+++ b/test/e2e-v2/cases/storage/es/e2e.yaml
@@ -41,89 +41,5 @@ verify:
# the interval between two retries, in millisecond.
interval: 10s
cases:
- # service list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
- expected: ../expected/service.yml
- # service metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name service_sla --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # service endpoint
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=info --service-name=e2e-service-provider
- expected: ../expected/service-endpoint.yml
- # service endpoint metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name endpoint_cpm --endpoint-name=POST:/info --service-name=e2e-service-provider |yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # dependency service
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service --service-name="e2e-service-provider"
- expected: ../expected/dependency-services.yml
- # service instance list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance list --service-name=e2e-service-provider
- expected: ../expected/service-instance.yml
- # service instance jvm metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name instance_jvm_thread_live_count --instance-name=provider1 --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
-
- # trace segment list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
- expected: ../expected/traces-list.yml
- # native tracing: 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:/info") | .[0].traceids[0]' - \
- )
- expected: ../expected/trace-info-detail.yml
-
- # native event: event list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql event list
- expected: ../expected/event-list.yml
-
- # native profile: create task
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql \
- profile create --service-name=e2e-service-provider \
- --endpoint-name=POST:/info \
- --start-time=$((($(date +%s)+5)*1000)) \
- --duration=1 --min-duration-threshold=0 \
- --dump-period=10 --max-sampling-count=9
- expected: ../expected/profile-create.yml
- # native profile: sleep to wait agent notices and query profile list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list -service-name=e2e-service-provider --endpoint-name=POST:/info
- expected: ../expected/profile-list.yml
-
- # native profile: sleep to wait segment report and query profiled segment list
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- )
- expected: ../expected/profile-segment-list.yml
-
- # native profile: query profiled segment
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- )
- expected: ../expected/profile-segment-detail.yml
-
- # native profile: query profiled segment analyze
- - query: |
- segmentid=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- );
- start=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].starttime' -);
- end=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].endtime' -);
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-analyze --segment-id=$segmentid --time-ranges=$(echo $start"-"$end)
- expected: ../expected/profile-segment-analyze.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
+ - includes:
+ - ../storage-cases.yaml
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/expected/metrics-top-service-sla.yml b/test/e2e-v2/cases/storage/expected/metrics-top-service-sla.yml
new file mode 100644
index 0000000..462af34
--- /dev/null
+++ b/test/e2e-v2/cases/storage/expected/metrics-top-service-sla.yml
@@ -0,0 +1,25 @@
+# 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.
+
+{{- contains . }}
+- name: e2e-service-provider
+ id: ""
+ value: '{{- gt .value "0" }}'
+ refid: ~
+- name: e2e-service-consumer
+ id: ""
+ value: '{{- gt .value "0" }}'
+ refid: ~
+{{- end }}
diff --git a/test/e2e-v2/cases/storage/h2/e2e.yaml b/test/e2e-v2/cases/storage/h2/e2e.yaml
index 73f746c..7255ea3 100644
--- a/test/e2e-v2/cases/storage/h2/e2e.yaml
+++ b/test/e2e-v2/cases/storage/h2/e2e.yaml
@@ -41,89 +41,5 @@ verify:
# the interval between two retries, in millisecond.
interval: 10s
cases:
- # service list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
- expected: ../expected/service.yml
- # service metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name service_sla --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # service endpoint
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=info --service-name=e2e-service-provider
- expected: ../expected/service-endpoint.yml
- # service endpoint metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name endpoint_cpm --endpoint-name=POST:/info --service-name=e2e-service-provider |yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # dependency service
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service --service-name="e2e-service-provider"
- expected: ../expected/dependency-services.yml
- # service instance list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance list --service-name=e2e-service-provider
- expected: ../expected/service-instance.yml
- # service instance jvm metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name instance_jvm_thread_live_count --instance-name=provider1 --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
-
- # trace segment list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
- expected: ../expected/traces-list.yml
- # native tracing: 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:/info") | .[0].traceids[0]' - \
- )
- expected: ../expected/trace-info-detail.yml
-
- # native event: event list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql event list
- expected: ../expected/event-list.yml
-
- # native profile: create task
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql \
- profile create --service-name=e2e-service-provider \
- --endpoint-name=POST:/info \
- --start-time=$((($(date +%s)+5)*1000)) \
- --duration=1 --min-duration-threshold=0 \
- --dump-period=10 --max-sampling-count=9
- expected: ../expected/profile-create.yml
- # native profile: sleep to wait agent notices and query profile list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list -service-name=e2e-service-provider --endpoint-name=POST:/info
- expected: ../expected/profile-list.yml
-
- # native profile: sleep to wait segment report and query profiled segment list
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- )
- expected: ../expected/profile-segment-list.yml
-
- # native profile: query profiled segment
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- )
- expected: ../expected/profile-segment-detail.yml
-
- # native profile: query profiled segment analyze
- - query: |
- segmentid=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- );
- start=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].starttime' -);
- end=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].endtime' -);
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-analyze --segment-id=$segmentid --time-ranges=$(echo $start"-"$end)
- expected: ../expected/profile-segment-analyze.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
+ - includes:
+ - ../storage-cases.yaml
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/influxdb/e2e.yaml b/test/e2e-v2/cases/storage/influxdb/e2e.yaml
index 73f746c..7255ea3 100644
--- a/test/e2e-v2/cases/storage/influxdb/e2e.yaml
+++ b/test/e2e-v2/cases/storage/influxdb/e2e.yaml
@@ -41,89 +41,5 @@ verify:
# the interval between two retries, in millisecond.
interval: 10s
cases:
- # service list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
- expected: ../expected/service.yml
- # service metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name service_sla --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # service endpoint
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=info --service-name=e2e-service-provider
- expected: ../expected/service-endpoint.yml
- # service endpoint metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name endpoint_cpm --endpoint-name=POST:/info --service-name=e2e-service-provider |yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # dependency service
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service --service-name="e2e-service-provider"
- expected: ../expected/dependency-services.yml
- # service instance list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance list --service-name=e2e-service-provider
- expected: ../expected/service-instance.yml
- # service instance jvm metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name instance_jvm_thread_live_count --instance-name=provider1 --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
-
- # trace segment list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
- expected: ../expected/traces-list.yml
- # native tracing: 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:/info") | .[0].traceids[0]' - \
- )
- expected: ../expected/trace-info-detail.yml
-
- # native event: event list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql event list
- expected: ../expected/event-list.yml
-
- # native profile: create task
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql \
- profile create --service-name=e2e-service-provider \
- --endpoint-name=POST:/info \
- --start-time=$((($(date +%s)+5)*1000)) \
- --duration=1 --min-duration-threshold=0 \
- --dump-period=10 --max-sampling-count=9
- expected: ../expected/profile-create.yml
- # native profile: sleep to wait agent notices and query profile list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list -service-name=e2e-service-provider --endpoint-name=POST:/info
- expected: ../expected/profile-list.yml
-
- # native profile: sleep to wait segment report and query profiled segment list
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- )
- expected: ../expected/profile-segment-list.yml
-
- # native profile: query profiled segment
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- )
- expected: ../expected/profile-segment-detail.yml
-
- # native profile: query profiled segment analyze
- - query: |
- segmentid=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- );
- start=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].starttime' -);
- end=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].endtime' -);
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-analyze --segment-id=$segmentid --time-ranges=$(echo $start"-"$end)
- expected: ../expected/profile-segment-analyze.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
+ - includes:
+ - ../storage-cases.yaml
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/iotdb/e2e.yaml b/test/e2e-v2/cases/storage/iotdb/e2e.yaml
index 73f746c..7255ea3 100644
--- a/test/e2e-v2/cases/storage/iotdb/e2e.yaml
+++ b/test/e2e-v2/cases/storage/iotdb/e2e.yaml
@@ -41,89 +41,5 @@ verify:
# the interval between two retries, in millisecond.
interval: 10s
cases:
- # service list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
- expected: ../expected/service.yml
- # service metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name service_sla --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # service endpoint
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=info --service-name=e2e-service-provider
- expected: ../expected/service-endpoint.yml
- # service endpoint metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name endpoint_cpm --endpoint-name=POST:/info --service-name=e2e-service-provider |yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # dependency service
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service --service-name="e2e-service-provider"
- expected: ../expected/dependency-services.yml
- # service instance list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance list --service-name=e2e-service-provider
- expected: ../expected/service-instance.yml
- # service instance jvm metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name instance_jvm_thread_live_count --instance-name=provider1 --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
-
- # trace segment list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
- expected: ../expected/traces-list.yml
- # native tracing: 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:/info") | .[0].traceids[0]' - \
- )
- expected: ../expected/trace-info-detail.yml
-
- # native event: event list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql event list
- expected: ../expected/event-list.yml
-
- # native profile: create task
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql \
- profile create --service-name=e2e-service-provider \
- --endpoint-name=POST:/info \
- --start-time=$((($(date +%s)+5)*1000)) \
- --duration=1 --min-duration-threshold=0 \
- --dump-period=10 --max-sampling-count=9
- expected: ../expected/profile-create.yml
- # native profile: sleep to wait agent notices and query profile list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list -service-name=e2e-service-provider --endpoint-name=POST:/info
- expected: ../expected/profile-list.yml
-
- # native profile: sleep to wait segment report and query profiled segment list
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- )
- expected: ../expected/profile-segment-list.yml
-
- # native profile: query profiled segment
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- )
- expected: ../expected/profile-segment-detail.yml
-
- # native profile: query profiled segment analyze
- - query: |
- segmentid=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- );
- start=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].starttime' -);
- end=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].endtime' -);
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-analyze --segment-id=$segmentid --time-ranges=$(echo $start"-"$end)
- expected: ../expected/profile-segment-analyze.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
+ - includes:
+ - ../storage-cases.yaml
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/mysql/e2e.yaml b/test/e2e-v2/cases/storage/mysql/e2e.yaml
index 73f746c..7255ea3 100644
--- a/test/e2e-v2/cases/storage/mysql/e2e.yaml
+++ b/test/e2e-v2/cases/storage/mysql/e2e.yaml
@@ -41,89 +41,5 @@ verify:
# the interval between two retries, in millisecond.
interval: 10s
cases:
- # service list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
- expected: ../expected/service.yml
- # service metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name service_sla --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # service endpoint
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=info --service-name=e2e-service-provider
- expected: ../expected/service-endpoint.yml
- # service endpoint metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name endpoint_cpm --endpoint-name=POST:/info --service-name=e2e-service-provider |yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # dependency service
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service --service-name="e2e-service-provider"
- expected: ../expected/dependency-services.yml
- # service instance list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance list --service-name=e2e-service-provider
- expected: ../expected/service-instance.yml
- # service instance jvm metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name instance_jvm_thread_live_count --instance-name=provider1 --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
-
- # trace segment list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
- expected: ../expected/traces-list.yml
- # native tracing: 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:/info") | .[0].traceids[0]' - \
- )
- expected: ../expected/trace-info-detail.yml
-
- # native event: event list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql event list
- expected: ../expected/event-list.yml
-
- # native profile: create task
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql \
- profile create --service-name=e2e-service-provider \
- --endpoint-name=POST:/info \
- --start-time=$((($(date +%s)+5)*1000)) \
- --duration=1 --min-duration-threshold=0 \
- --dump-period=10 --max-sampling-count=9
- expected: ../expected/profile-create.yml
- # native profile: sleep to wait agent notices and query profile list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list -service-name=e2e-service-provider --endpoint-name=POST:/info
- expected: ../expected/profile-list.yml
-
- # native profile: sleep to wait segment report and query profiled segment list
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- )
- expected: ../expected/profile-segment-list.yml
-
- # native profile: query profiled segment
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- )
- expected: ../expected/profile-segment-detail.yml
-
- # native profile: query profiled segment analyze
- - query: |
- segmentid=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- );
- start=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].starttime' -);
- end=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].endtime' -);
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-analyze --segment-id=$segmentid --time-ranges=$(echo $start"-"$end)
- expected: ../expected/profile-segment-analyze.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
+ - includes:
+ - ../storage-cases.yaml
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/opensearch/e2e.yaml b/test/e2e-v2/cases/storage/opensearch/e2e.yaml
index 73f746c..7255ea3 100644
--- a/test/e2e-v2/cases/storage/opensearch/e2e.yaml
+++ b/test/e2e-v2/cases/storage/opensearch/e2e.yaml
@@ -41,89 +41,5 @@ verify:
# the interval between two retries, in millisecond.
interval: 10s
cases:
- # service list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
- expected: ../expected/service.yml
- # service metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name service_sla --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # service endpoint
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=info --service-name=e2e-service-provider
- expected: ../expected/service-endpoint.yml
- # service endpoint metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name endpoint_cpm --endpoint-name=POST:/info --service-name=e2e-service-provider |yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # dependency service
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service --service-name="e2e-service-provider"
- expected: ../expected/dependency-services.yml
- # service instance list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance list --service-name=e2e-service-provider
- expected: ../expected/service-instance.yml
- # service instance jvm metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name instance_jvm_thread_live_count --instance-name=provider1 --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
-
- # trace segment list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
- expected: ../expected/traces-list.yml
- # native tracing: 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:/info") | .[0].traceids[0]' - \
- )
- expected: ../expected/trace-info-detail.yml
-
- # native event: event list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql event list
- expected: ../expected/event-list.yml
-
- # native profile: create task
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql \
- profile create --service-name=e2e-service-provider \
- --endpoint-name=POST:/info \
- --start-time=$((($(date +%s)+5)*1000)) \
- --duration=1 --min-duration-threshold=0 \
- --dump-period=10 --max-sampling-count=9
- expected: ../expected/profile-create.yml
- # native profile: sleep to wait agent notices and query profile list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list -service-name=e2e-service-provider --endpoint-name=POST:/info
- expected: ../expected/profile-list.yml
-
- # native profile: sleep to wait segment report and query profiled segment list
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- )
- expected: ../expected/profile-segment-list.yml
-
- # native profile: query profiled segment
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- )
- expected: ../expected/profile-segment-detail.yml
-
- # native profile: query profiled segment analyze
- - query: |
- segmentid=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- );
- start=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].starttime' -);
- end=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].endtime' -);
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-analyze --segment-id=$segmentid --time-ranges=$(echo $start"-"$end)
- expected: ../expected/profile-segment-analyze.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
+ - includes:
+ - ../storage-cases.yaml
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/postgres/e2e.yaml b/test/e2e-v2/cases/storage/postgres/e2e.yaml
index 73f746c..7255ea3 100644
--- a/test/e2e-v2/cases/storage/postgres/e2e.yaml
+++ b/test/e2e-v2/cases/storage/postgres/e2e.yaml
@@ -41,89 +41,5 @@ verify:
# the interval between two retries, in millisecond.
interval: 10s
cases:
- # service list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
- expected: ../expected/service.yml
- # service metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name service_sla --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # service endpoint
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=info --service-name=e2e-service-provider
- expected: ../expected/service-endpoint.yml
- # service endpoint metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name endpoint_cpm --endpoint-name=POST:/info --service-name=e2e-service-provider |yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # dependency service
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service --service-name="e2e-service-provider"
- expected: ../expected/dependency-services.yml
- # service instance list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance list --service-name=e2e-service-provider
- expected: ../expected/service-instance.yml
- # service instance jvm metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name instance_jvm_thread_live_count --instance-name=provider1 --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
-
- # trace segment list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
- expected: ../expected/traces-list.yml
- # native tracing: 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:/info") | .[0].traceids[0]' - \
- )
- expected: ../expected/trace-info-detail.yml
-
- # native event: event list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql event list
- expected: ../expected/event-list.yml
-
- # native profile: create task
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql \
- profile create --service-name=e2e-service-provider \
- --endpoint-name=POST:/info \
- --start-time=$((($(date +%s)+5)*1000)) \
- --duration=1 --min-duration-threshold=0 \
- --dump-period=10 --max-sampling-count=9
- expected: ../expected/profile-create.yml
- # native profile: sleep to wait agent notices and query profile list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list -service-name=e2e-service-provider --endpoint-name=POST:/info
- expected: ../expected/profile-list.yml
-
- # native profile: sleep to wait segment report and query profiled segment list
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- )
- expected: ../expected/profile-segment-list.yml
-
- # native profile: query profiled segment
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- )
- expected: ../expected/profile-segment-detail.yml
-
- # native profile: query profiled segment analyze
- - query: |
- segmentid=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- );
- start=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].starttime' -);
- end=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].endtime' -);
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-analyze --segment-id=$segmentid --time-ranges=$(echo $start"-"$end)
- expected: ../expected/profile-segment-analyze.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
+ - includes:
+ - ../storage-cases.yaml
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/storage-cases.yaml b/test/e2e-v2/cases/storage/storage-cases.yaml
new file mode 100644
index 0000000..83bafdd
--- /dev/null
+++ b/test/e2e-v2/cases/storage/storage-cases.yaml
@@ -0,0 +1,104 @@
+# 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:
+ # service list
+ - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
+ expected: expected/service.yml
+ # service metrics
+ - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name service_sla --service-name=e2e-service-provider | yq e 'to_entries' -
+ expected: expected/metrics-has-value.yml
+ - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics top --name service_sla 5
+ expected: expected/metrics-top-service-sla.yml
+ # service endpoint
+ - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=info --service-name=e2e-service-provider
+ expected: expected/service-endpoint.yml
+ # service endpoint metrics
+ - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name endpoint_cpm --endpoint-name=POST:/info --service-name=e2e-service-provider |yq e 'to_entries' -
+ expected: expected/metrics-has-value.yml
+ # dependency service
+ - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service --service-name="e2e-service-provider"
+ expected: expected/dependency-services.yml
+ # service instance list
+ - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance list --service-name=e2e-service-provider
+ expected: expected/service-instance.yml
+ # service instance jvm metrics
+ - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name instance_jvm_thread_live_count --instance-name=provider1 --service-name=e2e-service-provider | yq e 'to_entries' -
+ expected: expected/metrics-has-value.yml
+
+ # trace segment list
+ - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
+ expected: expected/traces-list.yml
+ # native tracing: 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:/info") | .[0].traceids[0]' - \
+ )
+ expected: expected/trace-info-detail.yml
+
+ # native event: event list
+ - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql event list
+ expected: expected/event-list.yml
+
+ # native profile: create task
+ - query: |
+ swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql \
+ profile create --service-name=e2e-service-provider \
+ --endpoint-name=POST:/info \
+ --start-time=$((($(date +%s)+5)*1000)) \
+ --duration=1 --min-duration-threshold=0 \
+ --dump-period=10 --max-sampling-count=9
+ expected: expected/profile-create.yml
+ # native profile: sleep to wait agent notices and query profile list
+ - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list -service-name=e2e-service-provider --endpoint-name=POST:/info
+ expected: expected/profile-list.yml
+
+ # native profile: sleep to wait segment report and query profiled segment list
+ - query: |
+ swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
+ swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
+ )
+ expected: expected/profile-segment-list.yml
+
+ # native profile: query profiled segment
+ - query: |
+ swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$( \
+ swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
+ swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
+ ) | yq e '.[0].segmentid' - \
+ )
+ expected: expected/profile-segment-detail.yml
+
+ # native profile: query profiled segment analyze
+ - query: |
+ segmentid=$( \
+ swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
+ swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
+ ) | yq e '.[0].segmentid' - \
+ );
+ start=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].starttime' -);
+ end=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].endtime' -);
+ swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-analyze --segment-id=$segmentid --time-ranges=$(echo $start"-"$end)
+ expected: expected/profile-segment-analyze.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
diff --git a/test/e2e-v2/cases/storage/tidb/e2e.yaml b/test/e2e-v2/cases/storage/tidb/e2e.yaml
index 73f746c..7255ea3 100644
--- a/test/e2e-v2/cases/storage/tidb/e2e.yaml
+++ b/test/e2e-v2/cases/storage/tidb/e2e.yaml
@@ -41,89 +41,5 @@ verify:
# the interval between two retries, in millisecond.
interval: 10s
cases:
- # service list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
- expected: ../expected/service.yml
- # service metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name service_sla --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # service endpoint
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=info --service-name=e2e-service-provider
- expected: ../expected/service-endpoint.yml
- # service endpoint metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name endpoint_cpm --endpoint-name=POST:/info --service-name=e2e-service-provider |yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
- # dependency service
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service --service-name="e2e-service-provider"
- expected: ../expected/dependency-services.yml
- # service instance list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance list --service-name=e2e-service-provider
- expected: ../expected/service-instance.yml
- # service instance jvm metrics
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name instance_jvm_thread_live_count --instance-name=provider1 --service-name=e2e-service-provider | yq e 'to_entries' -
- expected: ../expected/metrics-has-value.yml
-
- # trace segment list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
- expected: ../expected/traces-list.yml
- # native tracing: 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:/info") | .[0].traceids[0]' - \
- )
- expected: ../expected/trace-info-detail.yml
-
- # native event: event list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql event list
- expected: ../expected/event-list.yml
-
- # native profile: create task
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql \
- profile create --service-name=e2e-service-provider \
- --endpoint-name=POST:/info \
- --start-time=$((($(date +%s)+5)*1000)) \
- --duration=1 --min-duration-threshold=0 \
- --dump-period=10 --max-sampling-count=9
- expected: ../expected/profile-create.yml
- # native profile: sleep to wait agent notices and query profile list
- - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list -service-name=e2e-service-provider --endpoint-name=POST:/info
- expected: ../expected/profile-list.yml
-
- # native profile: sleep to wait segment report and query profiled segment list
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- )
- expected: ../expected/profile-segment-list.yml
-
- # native profile: query profiled segment
- - query: |
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- )
- expected: ../expected/profile-segment-detail.yml
-
- # native profile: query profiled segment analyze
- - query: |
- segmentid=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile segment-list --task-id=$( \
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile list --service-name=e2e-service-provider --endpoint-name=POST:/info | yq e '.[0].id' - \
- ) | yq e '.[0].segmentid' - \
- );
- start=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].starttime' -);
- end=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-segment --segment-id=$segmentid|yq e '.spans.[0].endtime' -);
- swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profile profiled-analyze --segment-id=$segmentid --time-ranges=$(echo $start"-"$end)
- expected: ../expected/profile-segment-analyze.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
+ - includes:
+ - ../storage-cases.yaml
\ No newline at end of file