This is an automated email from the ASF dual-hosted git repository.
hanahmily 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 6e99ab7e Fix querying the index on a entity tag (#579)
6e99ab7e is described below
commit 6e99ab7e8fed451d24e4d6041ec4c3db7c44f237
Author: Gao Hongtao <[email protected]>
AuthorDate: Mon Dec 23 14:10:41 2024 +0800
Fix querying the index on a entity tag (#579)
* Fix querying the index on a entity tag
Signed-off-by: Gao Hongtao <[email protected]>
* Remove e2e
---
.github/workflows/e2e.storage.yml | 2 -
.gitignore | 1 +
CHANGES.md | 1 +
api/proto/banyandb/measure/v1/rpc.proto | 7 ++-
banyand/measure/measure.go | 12 +++--
banyand/measure/write.go | 3 ++
pkg/index/inverted/query.go | 11 ++--
test/docker/base-compose.yml | 5 +-
test/e2e-v2/cases/cluster/storage-cases.yaml | 16 ++++++
.../cases/profiling/ebpf/oncpu/Dockerfile.sqrt | 23 --------
.../ebpf/oncpu/banyandb/docker-compose.yml | 58 --------------------
.../cases/profiling/ebpf/oncpu/banyandb/e2e.yaml | 37 -------------
.../cases/profiling/ebpf/oncpu/docker-compose.yml | 62 ----------------------
.../profiling/ebpf/oncpu/expected/instance.yml | 22 --------
.../ebpf/oncpu/expected/process-estimate-scale.yml | 16 ------
.../profiling/ebpf/oncpu/expected/process.yml | 41 --------------
.../ebpf/oncpu/expected/profiling-create.yml | 18 -------
.../oncpu/expected/profiling-schedule-list.yml | 44 ---------------
.../ebpf/oncpu/expected/profiling-task-list.yml | 35 ------------
.../profiling/ebpf/oncpu/expected/service.yml | 24 ---------
.../profiling/ebpf/oncpu/profiling-cases.yaml | 45 ----------------
test/e2e-v2/cases/profiling/ebpf/oncpu/sqrt.go | 33 ------------
.../cases/profiling/trace/expected/traces-list.yml | 1 +
.../expected/dependency-endpoint-consumer.yml | 3 +-
.../expected/dependency-endpoint-provider.yml | 3 +-
.../cases/storage/expected/dependency-instance.yml | 3 +-
.../expected/dependency-services-consumer.yml | 9 +++-
.../expected/dependency-services-provider.yml | 9 +++-
.../cases/storage/expected/empty-traces-list.yml | 3 +-
.../expected/metrics-has-value-percentile.yml | 5 +-
.../cases/storage/expected/metrics-has-value.yml | 5 +-
.../expected/topN-OP-endpoint.yml} | 31 ++++++-----
.../expected/topN-OP-service.yml} | 25 ++++++---
.../cases/storage/expected/trace-users-detail.yml | 3 +-
test/e2e-v2/cases/storage/expected/traces-list.yml | 3 +-
test/e2e-v2/cases/storage/storage-cases.yaml | 16 ++++++
test/e2e-v2/script/env | 11 ++--
37 files changed, 142 insertions(+), 504 deletions(-)
diff --git a/.github/workflows/e2e.storage.yml
b/.github/workflows/e2e.storage.yml
index 1673b20a..c6fd07e2 100644
--- a/.github/workflows/e2e.storage.yml
+++ b/.github/workflows/e2e.storage.yml
@@ -43,8 +43,6 @@ jobs:
config: test/e2e-v2/cases/storage/banyandb/e2e.yaml
- name: Trace Profiling BanyanDB
config: test/e2e-v2/cases/profiling/trace/banyandb/e2e.yaml
- - name: eBPF Profiling BanyanDB
- config: test/e2e-v2/cases/profiling/ebpf/oncpu/banyandb/e2e.yaml
- name: Event BanyanDB
config: test/e2e-v2/cases/event/banyandb/e2e.yaml
- name: BanyanDB Cluster Mode
diff --git a/.gitignore b/.gitignore
index ac4d116f..ce674e13 100644
--- a/.gitignore
+++ b/.gitignore
@@ -54,6 +54,7 @@ target
# mock files
*mock.go
*mock_test.go
+gomock_reflect*
# snky cache
.dccache
diff --git a/CHANGES.md b/CHANGES.md
index fba1df83..6742fc3b 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -41,6 +41,7 @@ Release Notes.
### Chores
- Fix metrics system typo.
+- Bump up OAP in CI to 6d262cce62e156bd197177abb3640ea65bb2d38e.
### CVEs
diff --git a/api/proto/banyandb/measure/v1/rpc.proto
b/api/proto/banyandb/measure/v1/rpc.proto
index 31ad2f28..5f216834 100644
--- a/api/proto/banyandb/measure/v1/rpc.proto
+++ b/api/proto/banyandb/measure/v1/rpc.proto
@@ -38,5 +38,10 @@ service MeasureService {
}
rpc Write(stream WriteRequest) returns (stream WriteResponse);
- rpc TopN(TopNRequest) returns (TopNResponse);
+ rpc TopN(TopNRequest) returns (TopNResponse) {
+ option (google.api.http) = {
+ post: "/v1/measure/topn"
+ body: "*"
+ };
+ }
}
diff --git a/banyand/measure/measure.go b/banyand/measure/measure.go
index 40a10898..4c4f85bd 100644
--- a/banyand/measure/measure.go
+++ b/banyand/measure/measure.go
@@ -51,14 +51,15 @@ type option struct {
type measure struct {
databaseSupplier schema.Supplier
+ indexTagMap map[string]struct{}
l *logger.Logger
schema *databasev1.Measure
processorManager *topNProcessorManager
+ fieldIndexLocation partition.FieldIndexLocation
name string
group string
- indexRules []*databasev1.IndexRule
indexRuleLocators partition.IndexRuleLocator
- fieldIndexLocation partition.FieldIndexLocation
+ indexRules []*databasev1.IndexRule
topNAggregations []*databasev1.TopNAggregation
interval time.Duration
shardNum uint32
@@ -104,7 +105,12 @@ func (s *measure) parseSpec() (err error) {
s.interval, err = timestamp.ParseDuration(s.schema.Interval)
}
s.indexRuleLocators, s.fieldIndexLocation =
partition.ParseIndexRuleLocators(s.schema.GetEntity(),
s.schema.GetTagFamilies(), s.indexRules, s.schema.IndexMode)
-
+ s.indexTagMap = make(map[string]struct{})
+ for j := range s.indexRules {
+ for k := range s.indexRules[j].Tags {
+ s.indexTagMap[s.indexRules[j].Tags[k]] = struct{}{}
+ }
+ }
return err
}
diff --git a/banyand/measure/write.go b/banyand/measure/write.go
index 35ac5a14..5aa18042 100644
--- a/banyand/measure/write.go
+++ b/banyand/measure/write.go
@@ -284,6 +284,9 @@ func (w *writeCallback)
appendEntityTagsToIndexFields(fields []index.Field, stm
f.NoSort = true
fields = append(fields, f)
for i := range stm.schema.Entity.TagNames {
+ if _, exists := stm.indexTagMap[stm.schema.Entity.TagNames[i]];
exists {
+ continue
+ }
tagName := stm.schema.Entity.TagNames[i]
var t *databasev1.TagSpec
for j := range stm.schema.TagFamilies {
diff --git a/pkg/index/inverted/query.go b/pkg/index/inverted/query.go
index d15b4485..c74cdae0 100644
--- a/pkg/index/inverted/query.go
+++ b/pkg/index/inverted/query.go
@@ -197,14 +197,14 @@ func buildIndexModeCriteria(criteria *modelv1.Criteria,
schema logical.Schema, e
if err != nil {
return nil, err
}
- if _, ok := entityDict[cond.Name]; ok {
- fk := index.FieldKey{TagName:
index.IndexModeEntityTagPrefix + cond.Name}
- return parseConditionToQuery(cond, nil, expr,
fk.Marshal())
- }
if ok, indexRule := schema.IndexDefined(cond.Name); ok {
fk := index.FieldKey{IndexRuleID: indexRule.Metadata.Id}
return parseConditionToQuery(cond, indexRule, expr,
fk.Marshal())
}
+ if _, ok := entityDict[cond.Name]; ok {
+ fk := index.FieldKey{TagName:
index.IndexModeEntityTagPrefix + cond.Name}
+ return parseConditionToQuery(cond, nil, expr,
fk.Marshal())
+ }
return nil, errors.Wrapf(logical.ErrUnsupportedConditionOp,
"mandatory index rule conf:%s", cond)
case *modelv1.Criteria_Le:
le := criteria.GetLe()
@@ -301,6 +301,9 @@ func parseConditionToQuery(cond *modelv1.Condition,
indexRule *databasev1.IndexR
node := newTermNode(str, indexRule)
return &queryNode{query, node}, nil
case modelv1.Condition_BINARY_OP_MATCH:
+ if indexRule == nil {
+ return nil,
errors.WithMessagef(logical.ErrUnsupportedConditionOp, "index rule is mandatory
for match operation: %s", cond)
+ }
bb := expr.Bytes()
if len(bb) != 1 {
return nil,
errors.WithMessagef(logical.ErrUnsupportedConditionOp, "don't support multiple
or null value: %s", cond)
diff --git a/test/docker/base-compose.yml b/test/docker/base-compose.yml
index ebf9eac5..9fcb81f9 100644
--- a/test/docker/base-compose.yml
+++ b/test/docker/base-compose.yml
@@ -67,9 +67,6 @@ services:
- 5005
environment:
SW_STORAGE_BANYANDB_TARGETS: banyandb:17912
- SW_CONFIG_ETCD_PERIOD: 1
- SW_CONFIG_ETCD_ENDPOINTS: http://etcd:2379
- SW_CLUSTER_ETCD_ENDPOINTS: http://etcd:2379
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
@@ -98,6 +95,7 @@ services:
SW_AGENT_INSTANCE_NAME: provider1
SW_AGENT_COLLECTOR_GET_PROFILE_TASK_INTERVAL: 1
SW_AGENT_COLLECTOR_GET_AGENT_DYNAMIC_CONFIG_INTERVAL: 1
+ SW_METER_ACTIVE: 'false'
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9090"]
interval: 5s
@@ -120,6 +118,7 @@ services:
SW_AGENT_INSTANCE_NAME: consumer1
SW_AGENT_COLLECTOR_GET_PROFILE_TASK_INTERVAL: 1
SW_AGENT_COLLECTOR_GET_AGENT_DYNAMIC_CONFIG_INTERVAL: 1
+ SW_METER_ACTIVE: 'false'
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9092"]
interval: 5s
diff --git a/test/e2e-v2/cases/cluster/storage-cases.yaml
b/test/e2e-v2/cases/cluster/storage-cases.yaml
index 28c128b0..8ce1e5c7 100644
--- a/test/e2e-v2/cases/cluster/storage-cases.yaml
+++ b/test/e2e-v2/cases/cluster/storage-cases.yaml
@@ -160,3 +160,19 @@ cases:
| 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_sla,3,des)/100"
+ 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_sla,3,des,attr0='GENERAL')/100"
+ 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_sla,3,des,attr0!='Not_GENERAL')/100"
+ 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_sla,3,des)/100"
+ 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_sla,3,des,attr0='GENERAL')/100"
+ 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_sla,3,des,attr0!='Not_GENERAL')/100"
+ expected: ../storage/expected/topN-OP-endpoint.yml
\ No newline at end of file
diff --git a/test/e2e-v2/cases/profiling/ebpf/oncpu/Dockerfile.sqrt
b/test/e2e-v2/cases/profiling/ebpf/oncpu/Dockerfile.sqrt
deleted file mode 100644
index 432e6961..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/Dockerfile.sqrt
+++ /dev/null
@@ -1,23 +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.
-
-FROM golang:1.17
-
-WORKDIR /
-COPY sqrt.go /sqrt.go
-RUN go build -o sqrt sqrt.go
-
-CMD ["/sqrt"]
\ No newline at end of file
diff --git a/test/e2e-v2/cases/profiling/ebpf/oncpu/banyandb/docker-compose.yml
b/test/e2e-v2/cases/profiling/ebpf/oncpu/banyandb/docker-compose.yml
deleted file mode 100644
index 617c1a20..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/banyandb/docker-compose.yml
+++ /dev/null
@@ -1,58 +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.
-
-version: '2.1'
-
-services:
- banyandb:
- extends:
- file: ../docker-compose.yml
- service: banyandb
- networks:
- - e2e
-
- oap:
- extends:
- file: ../docker-compose.yml
- service: oap
- networks:
- - e2e
- environment:
- SW_STORAGE: banyandb
- depends_on:
- banyandb:
- condition: service_healthy
- ports:
- - 12800
-
- sqrt:
- extends:
- file: ../docker-compose.yml
- service: sqrt
- networks:
- - e2e
-
- rover:
- extends:
- file: ../docker-compose.yml
- service: rover
- networks:
- - e2e
- depends_on:
- oap:
- condition: service_healthy
-
-networks:
- e2e:
\ No newline at end of file
diff --git a/test/e2e-v2/cases/profiling/ebpf/oncpu/banyandb/e2e.yaml
b/test/e2e-v2/cases/profiling/ebpf/oncpu/banyandb/e2e.yaml
deleted file mode 100644
index f8fdca0f..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/banyandb/e2e.yaml
+++ /dev/null
@@ -1,37 +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.
-
-# This file is used to show how to write configuration files and can be used
to test.
-
-setup:
- env: compose
- file: docker-compose.yml
- timeout: 20m
- init-system-environment: ../../../../../script/env
- steps:
- - name: set PATH
- command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH
- - name: install yq
- command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
- - name: install swctl
- command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
-
-verify:
- retry:
- count: 20
- interval: 10s
- cases:
- - includes:
- - ../profiling-cases.yaml
\ No newline at end of file
diff --git a/test/e2e-v2/cases/profiling/ebpf/oncpu/docker-compose.yml
b/test/e2e-v2/cases/profiling/ebpf/oncpu/docker-compose.yml
deleted file mode 100644
index a41db1f3..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/docker-compose.yml
+++ /dev/null
@@ -1,62 +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.
-
-version: '2.1'
-
-services:
- oap:
- extends:
- file: ../../../../script/docker-compose/base-compose.yml
- service: oap
-
- banyandb:
- extends:
- file: ../../../../script/docker-compose/base-compose.yml
- service: banyandb
-
- sqrt:
- build:
- context: .
- dockerfile: Dockerfile.sqrt
- networks:
- - e2e
-
- rover:
- image:
"ghcr.io/apache/skywalking-rover/skywalking-rover:${SW_ROVER_COMMIT}"
- networks:
- - e2e
- privileged: true
- pid: host
- environment:
- ROVER_HOST_MAPPING: /host
- ROVER_BACKEND_ADDR: oap:11800
- ROVER_PROCESS_DISCOVERY_HEARTBEAT_PERIOD: 2s
- ROVER_PROCESS_DISCOVERY_VM_ACTIVE: "true"
- ROVER_PROCESS_DISCOVERY_SCAN_MODE: REGEX
- ROVER_PROCESS_DISCOVERY_REGEX_SCANNER_MATCH_CMD: sqrt
- ROVER_PROCESS_DISCOVERY_REGEX_SCANNER_LAYER: OS_LINUX
- ROVER_PROCESS_DISCOVERY_REGEX_SCANNER_SERVICE_NAME: sqrt
- ROVER_PROCESS_DISCOVERY_REGEX_SCANNER_INSTANCE_NAME: test-instance
- ROVER_PROCESS_DISCOVERY_REGEX_SCANNER_PROCESS_NAME:
"{{.Process.ExeName}}"
- ROVER_PROCESS_DISCOVERY_REGEX_SCANNER_LABELS: e2e-label1,e2e-label2
- ROVER_PROFILING_ACTIVE: "true"
- ROVER_PROFILING_CHECK_INTERVAL: 2s
- ROVER_PROFILING_FLUSH_INTERVAL: 5s
- ROVER_PROFILING_TASK_ON_CPU_DUMP_PERIOD: 9ms
- volumes:
- - /:/host
-
-networks:
- e2e:
\ No newline at end of file
diff --git a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/instance.yml
b/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/instance.yml
deleted file mode 100644
index 5f276502..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/instance.yml
+++ /dev/null
@@ -1,22 +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.
-
-{{- contains . }}
-- id: {{ b64enc "sqrt" }}.1_{{ b64enc "test-instance" }}
- name: test-instance
- attributes: []
- language: UNKNOWN
- instanceuuid: {{ notEmpty .instanceuuid }}
-{{- end }}
diff --git
a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/process-estimate-scale.yml
b/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/process-estimate-scale.yml
deleted file mode 100644
index a4bfca0c..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/process-estimate-scale.yml
+++ /dev/null
@@ -1,16 +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.
-
-1
\ No newline at end of file
diff --git a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/process.yml
b/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/process.yml
deleted file mode 100644
index b9696316..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/process.yml
+++ /dev/null
@@ -1,41 +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.
-
-{{- contains . }}
-- id: {{ notEmpty .id }}
- name: sqrt
- serviceid: {{ b64enc "sqrt" }}.1
- servicename: sqrt
- instanceid: {{ b64enc "sqrt" }}.1_{{ b64enc "test-instance" }}
- instancename: test-instance
- agentid: {{ notEmpty .agentid }}
- detecttype: VM
- attributes:
- {{- contains .attributes }}
- - name: host_ip
- value: {{ notEmpty .value }}
- - name: pid
- value: {{ notEmpty .value }}
- - name: command_line
- value: /sqrt
- - name: support_ebpf_profiling
- value: "true"
- {{- end }}
- labels:
- {{- contains .labels }}
- - e2e-label1
- - e2e-label2
- {{- end }}
-{{- end }}
diff --git
a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-create.yml
b/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-create.yml
deleted file mode 100644
index 176b195a..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-create.yml
+++ /dev/null
@@ -1,18 +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.
-
-status: true
-errorreason: null
-id: {{ notEmpty .id }}
\ No newline at end of file
diff --git
a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-schedule-list.yml
b/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-schedule-list.yml
deleted file mode 100644
index 728a68d5..00000000
---
a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-schedule-list.yml
+++ /dev/null
@@ -1,44 +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.
-
-{{- contains . }}
-- scheduleid: {{ notEmpty .scheduleid }}
- taskid: {{ notEmpty .taskid }}
- process:
- id: {{ notEmpty .process.id }}
- name: sqrt
- serviceid: {{ b64enc "sqrt" }}.1
- servicename: sqrt
- instanceid: {{ b64enc "sqrt" }}.1_{{ b64enc "test-instance" }}
- instancename: test-instance
- agentid: {{ notEmpty .process.agentid }}
- detecttype: VM
- attributes:
- {{- contains .process.attributes }}
- - name: host_ip
- value: {{ notEmpty .value }}
- - name: pid
- value: {{ notEmpty .value }}
- - name: command_line
- value: /sqrt
- {{- end }}
- labels:
- {{- contains .process.labels }}
- - e2e-label1
- - e2e-label2
- {{- end }}
- starttime: {{ gt .starttime 0 }}
- endtime: {{ gt .endtime 0 }}
-{{- end }}
diff --git
a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-task-list.yml
b/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-task-list.yml
deleted file mode 100644
index f357fd6f..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-task-list.yml
+++ /dev/null
@@ -1,35 +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.
-
-{{- contains . }}
-- taskid: {{ notEmpty .taskid }}
- serviceid: {{ b64enc "sqrt" }}.1
- servicename: sqrt
- serviceinstanceid: null
- serviceinstancename: null
- processid: null
- processname: null
- processlabels:
- {{- contains .processlabels }}
- - e2e-label1
- - e2e-label2
- {{- end }}
- taskstarttime: {{ gt .taskstarttime 0 }}
- triggertype: FIXED_TIME
- fixedtriggerduration: 60
- targettype: ON_CPU
- createtime: {{ gt .createtime 0 }}
- continuousprofilingcauses: []
-{{- end }}
\ No newline at end of file
diff --git a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/service.yml
b/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/service.yml
deleted file mode 100644
index 4c0ee2b0..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/service.yml
+++ /dev/null
@@ -1,24 +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.
-
-{{- contains . }}
-- id: {{ b64enc "sqrt" }}.1
- name: sqrt
- group: ""
- shortname: sqrt
- layers:
- - OS_LINUX
- normal: true
-{{- end }}
\ No newline at end of file
diff --git a/test/e2e-v2/cases/profiling/ebpf/oncpu/profiling-cases.yaml
b/test/e2e-v2/cases/profiling/ebpf/oncpu/profiling-cases.yaml
deleted file mode 100644
index 902a3be9..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/profiling-cases.yaml
+++ /dev/null
@@ -1,45 +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.
-
-# This file is used to show how to write configuration files and can be used
to test.
-
-cases:
- - query: swctl --base-url=http://${oap_host}:${oap_12800}/graphql --display
yaml service ls
- expected: expected/service.yml
- - query: swctl --base-url=http://${oap_host}:${oap_12800}/graphql --display
yaml instance ls --service-name sqrt
- expected: expected/instance.yml
- - query: swctl --base-url=http://${oap_host}:${oap_12800}/graphql --display
yaml process ls --service-name sqrt --instance-name test-instance
- expected: expected/process.yml
- - query: swctl --base-url=http://${oap_host}:${oap_12800}/graphql --display
yaml profiling ebpf create prepare --service-name sqrt
- expected: expected/profiling-create-prepare.yml
- - query: swctl --base-url=http://${oap_host}:${oap_12800}/graphql --display
yaml process estimate scale --service-name sqrt --labels e2e-label1,e2e-label2
- expected: expected/process-estimate-scale.yml
- - query: |
- swctl --base-url=http://${oap_host}:${oap_12800}/graphql --display yaml
profiling ebpf create fixed --service-name sqrt --labels e2e-label1,e2e-label2
--duration 1m
- expected: expected/profiling-create.yml
- - query: swctl --base-url=http://${oap_host}:${oap_12800}/graphql --display
yaml profiling ebpf list --service-name sqrt
- expected: expected/profiling-task-list.yml
- - query: |
- swctl --base-url=http://${oap_host}:${oap_12800}/graphql --display yaml
profiling ebpf schedules --task-id=$( \
- swctl --base-url=http://${oap_host}:${oap_12800}/graphql --display
yaml profiling ebpf list --service-name sqrt |yq e '.[0].taskid' -
- )
- expected: expected/profiling-schedule-list.yml
- - query: |
- taskid=$(swctl --base-url=http://${oap_host}:${oap_12800}/graphql
--display yaml profiling ebpf list --service-name sqrt |yq e '.[0].taskid' -)
- scheduleid=$(swctl --base-url=http://${oap_host}:${oap_12800}/graphql
--display yaml profiling ebpf schedules --task-id=$taskid |yq e
'.[0].scheduleid' -);
- start=$(swctl --base-url=http://${oap_host}:${oap_12800}/graphql
--display yaml profiling ebpf schedules --task-id=$taskid | yq e
'.[0].starttime' -)
- end=$(swctl --base-url=http://${oap_host}:${oap_12800}/graphql --display
yaml profiling ebpf schedules --task-id=$taskid | yq e '.[0].endtime' -)
- swctl --base-url=http://${oap_host}:${oap_12800}/graphql --display yaml
profiling ebpf analysis --schedule-id=$scheduleid --time-ranges=$start-$end
- expected: expected/profiling-analysis.yml
\ No newline at end of file
diff --git a/test/e2e-v2/cases/profiling/ebpf/oncpu/sqrt.go
b/test/e2e-v2/cases/profiling/ebpf/oncpu/sqrt.go
deleted file mode 100644
index eb3dbc05..00000000
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/sqrt.go
+++ /dev/null
@@ -1,33 +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.
-
-// Package main is the entry point of the process for EBPF profiling.
-package main
-
-import (
- "math"
-)
-
-//go:noinline
-func sqrtInGolang() {
- for {
- math.Sqrt(10000)
- }
-}
-
-func main() {
- sqrtInGolang()
-}
diff --git a/test/e2e-v2/cases/profiling/trace/expected/traces-list.yml
b/test/e2e-v2/cases/profiling/trace/expected/traces-list.yml
index 196d87a0..c9a97166 100644
--- a/test/e2e-v2/cases/profiling/trace/expected/traces-list.yml
+++ b/test/e2e-v2/cases/profiling/trace/expected/traces-list.yml
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+debuggingtrace: null
traces:
{{- contains .traces }}
- segmentid: {{ notEmpty .segmentid }}
diff --git
a/test/e2e-v2/cases/storage/expected/dependency-endpoint-consumer.yml
b/test/e2e-v2/cases/storage/expected/dependency-endpoint-consumer.yml
index 8f5a8b26..d79834ff 100644
--- a/test/e2e-v2/cases/storage/expected/dependency-endpoint-consumer.yml
+++ b/test/e2e-v2/cases/storage/expected/dependency-endpoint-consumer.yml
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+debuggingtrace: null
nodes:
{{- contains .nodes }}
- id: {{ b64enc "User" }}.0_{{ b64enc "User" }}
@@ -50,4 +51,4 @@ calls:
id: {{ b64enc "e2e-service-consumer" }}.1-{{ b64enc "POST:/users" }}-{{
b64enc "e2e-service-provider" }}.1-{{ b64enc "POST:/users" }}
detectpoints:
- SERVER
-{{- end }}
+{{- end }}
\ No newline at end of file
diff --git
a/test/e2e-v2/cases/storage/expected/dependency-endpoint-provider.yml
b/test/e2e-v2/cases/storage/expected/dependency-endpoint-provider.yml
index 3835336b..87cd0f80 100644
--- a/test/e2e-v2/cases/storage/expected/dependency-endpoint-provider.yml
+++ b/test/e2e-v2/cases/storage/expected/dependency-endpoint-provider.yml
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+debuggingtrace: null
nodes:
{{- contains .nodes }}
- id: {{ b64enc "e2e-service-consumer" }}.1_{{ b64enc "POST:/users" }}
@@ -37,4 +38,4 @@ calls:
id: {{ b64enc "e2e-service-consumer" }}.1-{{ b64enc "POST:/users" }}-{{
b64enc "e2e-service-provider" }}.1-{{ b64enc "POST:/users" }}
detectpoints:
- SERVER
-{{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/expected/dependency-instance.yml
b/test/e2e-v2/cases/storage/expected/dependency-instance.yml
index 61cc1cad..8be014ed 100644
--- a/test/e2e-v2/cases/storage/expected/dependency-instance.yml
+++ b/test/e2e-v2/cases/storage/expected/dependency-instance.yml
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+debuggingtrace: null
nodes:
{{- contains .nodes }}
- id: {{ b64enc "e2e-service-consumer" }}.1_{{ b64enc "consumer1" }}
@@ -38,4 +39,4 @@ calls:
detectpoints:
- CLIENT
- SERVER
-{{- end }}
+{{- end }}
\ No newline at end of file
diff --git
a/test/e2e-v2/cases/storage/expected/dependency-services-consumer.yml
b/test/e2e-v2/cases/storage/expected/dependency-services-consumer.yml
index 106faf57..1d377051 100644
--- a/test/e2e-v2/cases/storage/expected/dependency-services-consumer.yml
+++ b/test/e2e-v2/cases/storage/expected/dependency-services-consumer.yml
@@ -13,20 +13,27 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+debuggingtrace: null
nodes:
{{- contains .nodes }}
- id: {{ b64enc "User"}}.0
name: User
type: USER
isreal: false
+ layers:
+ - UNDEFINED
- id: {{ b64enc "e2e-service-consumer"}}.1
name: e2e-service-consumer
type: Tomcat
isreal: true
+ layers:
+ - GENERAL
- id: {{ b64enc "e2e-service-provider"}}.1
name: e2e-service-provider
type: Tomcat
isreal: true
+ layers:
+ - GENERAL
{{- end }}
calls:
{{- contains .calls }}
@@ -48,4 +55,4 @@ calls:
id: {{ b64enc "User" }}.0-{{ b64enc "e2e-service-consumer"}}.1
detectpoints:
- SERVER
-{{- end }}
+{{- end }}
\ No newline at end of file
diff --git
a/test/e2e-v2/cases/storage/expected/dependency-services-provider.yml
b/test/e2e-v2/cases/storage/expected/dependency-services-provider.yml
index 63646974..8d8d8bf9 100644
--- a/test/e2e-v2/cases/storage/expected/dependency-services-provider.yml
+++ b/test/e2e-v2/cases/storage/expected/dependency-services-provider.yml
@@ -13,20 +13,27 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+debuggingtrace: null
nodes:
{{- contains .nodes }}
- id: {{ b64enc "e2e-service-provider"}}.1
name: e2e-service-provider
type: Tomcat
isreal: true
+ layers:
+ - GENERAL
- id: {{ b64enc "e2e-service-consumer"}}.1
name: e2e-service-consumer
type: Tomcat
isreal: true
+ layers:
+ - GENERAL
- id: {{ b64enc "localhost:-1" }}.0
name: localhost:-1
type: H2
isreal: false
+ layers:
+ - VIRTUAL_DATABASE
{{- end }}
calls:
{{- contains .calls }}
@@ -48,4 +55,4 @@ calls:
id: {{ b64enc "e2e-service-provider" }}.1-{{ b64enc "localhost:-1"}}.0
detectpoints:
- CLIENT
-{{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/expected/empty-traces-list.yml
b/test/e2e-v2/cases/storage/expected/empty-traces-list.yml
index 294a89e0..747725eb 100644
--- a/test/e2e-v2/cases/storage/expected/empty-traces-list.yml
+++ b/test/e2e-v2/cases/storage/expected/empty-traces-list.yml
@@ -13,4 +13,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-traces: []
+debuggingtrace: null
+traces: []
\ No newline at end of file
diff --git
a/test/e2e-v2/cases/storage/expected/metrics-has-value-percentile.yml
b/test/e2e-v2/cases/storage/expected/metrics-has-value-percentile.yml
index 0e662e43..f89e729b 100644
--- a/test/e2e-v2/cases/storage/expected/metrics-has-value-percentile.yml
+++ b/test/e2e-v2/cases/storage/expected/metrics-has-value-percentile.yml
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+debuggingtrace: null
type: TIME_SERIES_VALUES
results:
{{- contains .results }}
@@ -26,10 +27,12 @@ results:
{{- contains .values }}
- id: {{ notEmpty .id }}
value: {{ .value }}
+ owner: null
traceid: null
- id: {{ notEmpty .id }}
value: null
+ owner: null
traceid: null
{{- end}}
{{- end}}
-error: null
+error: null
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/expected/metrics-has-value.yml
b/test/e2e-v2/cases/storage/expected/metrics-has-value.yml
index dc71f566..d228fd61 100644
--- a/test/e2e-v2/cases/storage/expected/metrics-has-value.yml
+++ b/test/e2e-v2/cases/storage/expected/metrics-has-value.yml
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+debuggingtrace: null
type: TIME_SERIES_VALUES
results:
{{- contains .results }}
@@ -22,10 +23,12 @@ results:
{{- contains .values }}
- id: {{ notEmpty .id }}
value: {{ .value }}
+ owner: null
traceid: null
- id: {{ notEmpty .id }}
value: null
+ owner: null
traceid: null
{{- end}}
{{- end}}
-error: null
+error: null
\ No newline at end of file
diff --git
a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-analysis.yml
b/test/e2e-v2/cases/storage/expected/topN-OP-endpoint.yml
similarity index 67%
rename from
test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-analysis.yml
rename to test/e2e-v2/cases/storage/expected/topN-OP-endpoint.yml
index fdabcce9..8e21a0a0 100644
--- a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-analysis.yml
+++ b/test/e2e-v2/cases/storage/expected/topN-OP-endpoint.yml
@@ -13,15 +13,22 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-tip: null
-trees:
-{{- contains .trees }}
-- elements:
- {{- contains .elements }}
- - id: "{{ notEmpty .id }}"
- parentid: "{{ notEmpty .parentid }}"
- symbol: "main.sqrtInGolang"
- stacktype: USER_SPACE
- dumpcount: {{ gt .dumpcount 0 }}
-{{- end }}
-{{- end }}
\ No newline at end of file
+debuggingtrace: null
+type: SORTED_LIST
+results:
+ {{- contains .results }}
+ - metric:
+ labels: []
+ values:
+ {{- contains .values }}
+ - id: {{ notEmpty .id }}
+ value: "100"
+ owner: null
+ traceid: null
+ - id: {{ notEmpty .id }}
+ value: "100"
+ owner: null
+ traceid: null
+ {{- end }}
+ {{- end }}
+error: null
\ No newline at end of file
diff --git
a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-create-prepare.yml
b/test/e2e-v2/cases/storage/expected/topN-OP-service.yml
similarity index 67%
rename from
test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-create-prepare.yml
rename to test/e2e-v2/cases/storage/expected/topN-OP-service.yml
index b1226a33..b7bb99a4 100644
---
a/test/e2e-v2/cases/profiling/ebpf/oncpu/expected/profiling-create-prepare.yml
+++ b/test/e2e-v2/cases/storage/expected/topN-OP-service.yml
@@ -13,9 +13,22 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-couldprofiling: true
-processlabels:
- {{- contains .processlabels }}
- - e2e-label1
- - e2e-label2
- {{- end }}
\ No newline at end of file
+debuggingtrace: null
+type: SORTED_LIST
+results:
+ {{- contains .results }}
+ - metric:
+ labels: []
+ values:
+ {{- contains .values }}
+ - id: {{ notEmpty .id }}
+ owner: null
+ value: "100"
+ traceid: null
+ - id: {{ notEmpty .id }}
+ owner: null
+ value: "100"
+ traceid: null
+ {{- end }}
+ {{- end }}
+error: null
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/expected/trace-users-detail.yml
b/test/e2e-v2/cases/storage/expected/trace-users-detail.yml
index 437b9dd1..3164a569 100644
--- a/test/e2e-v2/cases/storage/expected/trace-users-detail.yml
+++ b/test/e2e-v2/cases/storage/expected/trace-users-detail.yml
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+debuggingtrace: null
spans:
{{- contains .spans }}
- traceid: {{ .traceid }}
@@ -93,4 +94,4 @@ spans:
{{- end }}
logs: []
attachedevents: []
- {{- end }}
+ {{- end }}
\ No newline at end of file
diff --git a/test/e2e-v2/cases/storage/expected/traces-list.yml
b/test/e2e-v2/cases/storage/expected/traces-list.yml
index 4d5a1e5f..e6b01d4c 100644
--- a/test/e2e-v2/cases/storage/expected/traces-list.yml
+++ b/test/e2e-v2/cases/storage/expected/traces-list.yml
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+debuggingtrace: null
traces:
{{- contains .traces }}
- segmentid: {{ notEmpty .segmentid }}
@@ -23,4 +24,4 @@ traces:
iserror: false
traceids:
- {{ index .traceids 0 }}
-{{- end }}
+{{- end }}
\ 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
index f7a06f39..71b40e06 100644
--- a/test/e2e-v2/cases/storage/storage-cases.yaml
+++ b/test/e2e-v2/cases/storage/storage-cases.yaml
@@ -160,3 +160,19 @@ cases:
| 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_sla,3,des)/100"
+ expected: 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_sla,3,des,attr0='GENERAL')/100"
+ expected: expected/topN-OP-service.yml
+ - query: swctl --display yaml
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec
--expression="top_n(service_sla,3,des,attr0!='Not_GENERAL')/100"
+ expected: 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_sla,3,des)/100"
+ expected: 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_sla,3,des,attr0='GENERAL')/100"
+ expected: expected/topN-OP-endpoint.yml
+ - query: swctl --display yaml
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec
--expression="top_n(endpoint_sla,3,des,attr0!='Not_GENERAL')/100"
+ expected: expected/topN-OP-endpoint.yml
\ No newline at end of file
diff --git a/test/e2e-v2/script/env b/test/e2e-v2/script/env
index 971a4327..efe6f63e 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/script/env
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-SW_AGENT_JAVA_COMMIT=c82287e1dd1593cf3e7dbc390b92f9224943252a
+SW_AGENT_JAVA_COMMIT=f0245864e4388a388fe7445b56b6ce7cedc94aaf
SW_AGENT_SATELLITE_COMMIT=ea27a3f4e126a24775fe12e2aa2695bcb23d99c3
SW_AGENT_NGINX_LUA_COMMIT=c3cee4841798a147d83b96a10914d4ac0e11d0aa
SW_AGENT_NODEJS_COMMIT=4f9a91dad3dfd8cfe5ba8f7bd06b39e11eb5e65e
@@ -22,8 +22,9 @@
SW_AGENT_PYTHON_COMMIT=c76a6ec51a478ac91abb20ec8f22a99b8d4d6a58
SW_AGENT_CLIENT_JS_COMMIT=af0565a67d382b683c1dbd94c379b7080db61449
SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
SW_KUBERNETES_COMMIT_SHA=1335f15bf821a40a7cd71448fa805f0be265afcc
-SW_ROVER_COMMIT=fc8d074c6d34ecfee585a7097cbd5aef1ca680a5
-SW_CTL_COMMIT=d5f3597733aa5217373986d776a3ee5ee8b3c468
+SW_ROVER_COMMIT=0ae8f12d6eb6cc9fa125c603ee57d0b21fc8c6d0
+SW_AGENT_PHP_COMMIT=3192c553002707d344bd6774cfab5bc61f67a1d3
+SW_CTL_COMMIT=6210a3b79089535af782ca51359ce6c5b68890b2
-SW_OAP_COMMIT=ceaa88f378d40bedf40e40c33169b9804fc96aae
-SW_AGENT_E2E_SERVICE_PROVIDER_COMMIT=5d0bd0569b23bcd40a3c9ea0898e27d6aefd1e84
+SW_OAP_COMMIT=6d262cce62e156bd197177abb3640ea65bb2d38e
+SW_AGENT_E2E_SERVICE_PROVIDER_COMMIT=d3f8fe894d1a206164b73f5b523d2eb62d9e9965