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

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


The following commit(s) were added to refs/heads/main by this push:
     new 8b309be  Add 9 E2E tests: event, menu, alarm, log, meter, 
trace-profiling, telegraf, zabbix, zipkin
8b309be is described below

commit 8b309be5cb2cf78b2047d08f72e45dbf053e8b98
Author: Wu Sheng <[email protected]>
AuthorDate: Fri Feb 27 19:57:29 2026 +0800

    Add 9 E2E tests: event, menu, alarm, log, meter, trace-profiling, telegraf, 
zabbix, zipkin
    
    Add docker-compose + BanyanDB E2E tests for 9 upstream cases covering
    receiver-event, menu metadata, alarm/webhook, receiver-log/LAL, 
receiver-meter/MAL,
    trace profiling, receiver-telegraf, receiver-zabbix, and 
receiver-zipkin/query-zipkin.
    
    Disabled-by-default modules (zabbix, zipkin) are activated via env vars.
    Log and meter tests use inline verification adapted for native image 
constraints
    (LAL/MAL configs compiled into binary, no mock-sender GHCR image).
---
 .github/E2E-CASES.md                              |  18 +++
 .github/workflows/ci.yml                          |  18 +++
 test/e2e/cases/alarm/docker-compose.yml           |  91 ++++++++++++++++
 test/e2e/cases/alarm/e2e.yaml                     |  48 ++++++++
 test/e2e/cases/event/docker-compose.yml           |  48 ++++++++
 test/e2e/cases/event/e2e.yaml                     |  38 +++++++
 test/e2e/cases/log/docker-compose.yml             |  90 +++++++++++++++
 test/e2e/cases/log/e2e.yaml                       |  59 ++++++++++
 test/e2e/cases/menu/docker-compose.yml            | 127 ++++++++++++++++++++++
 test/e2e/cases/menu/e2e.yaml                      |  48 ++++++++
 test/e2e/cases/meter/docker-compose.yml           |  95 ++++++++++++++++
 test/e2e/cases/meter/e2e.yaml                     |  90 +++++++++++++++
 test/e2e/cases/trace-profiling/docker-compose.yml |  88 +++++++++++++++
 test/e2e/cases/trace-profiling/e2e.yaml           |  39 +++++++
 test/e2e/cases/vm-telegraf/docker-compose.yml     |  59 ++++++++++
 test/e2e/cases/vm-telegraf/e2e.yaml               |  54 +++++++++
 test/e2e/cases/vm-zabbix/docker-compose.yml       |  58 ++++++++++
 test/e2e/cases/vm-zabbix/e2e.yaml                 |  43 ++++++++
 test/e2e/cases/zipkin/docker-compose.yml          |  70 ++++++++++++
 test/e2e/cases/zipkin/e2e.yaml                    |  46 ++++++++
 20 files changed, 1227 insertions(+)

diff --git a/.github/E2E-CASES.md b/.github/E2E-CASES.md
index 76cba43..a03c736 100644
--- a/.github/E2E-CASES.md
+++ b/.github/E2E-CASES.md
@@ -12,6 +12,24 @@ Zookeeper/etcd clustering, are excluded.
 
 ---
 
+## Implemented
+
+| Case | Dir | Modules Tested |
+|------|-----|----------------|
+| Simple Java Agent | `simple-java-agent/` | Core tracing, metrics, topology |
+| Istio ALS | `istio-als/` | Envoy ALS receiver, K8s cluster |
+| Event | `event/` | `receiver-event` |
+| Menu | `menu/` | GraphQL menu/dashboard metadata |
+| Alarm | `alarm/` | `alarm` module, webhook |
+| Log | `log/` | `receiver-log`, LAL engine |
+| Meter | `meter/` | `receiver-meter`, MAL, virtual cache/DB |
+| Trace Profiling | `trace-profiling/` | Trace profiling lifecycle |
+| VM Telegraf | `vm-telegraf/` | `receiver-telegraf` |
+| VM Zabbix | `vm-zabbix/` | `receiver-zabbix` (disabled by default) |
+| Zipkin | `zipkin/` | `receiver-zipkin`, `query-zipkin` (disabled by default) 
|
+
+---
+
 ## Tier 1 — Core (no external deps beyond OAP + BanyanDB + Java test services)
 
 | Case | Upstream Path | Cluster | Description |
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 76cf241..11ddbb8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -218,6 +218,24 @@ jobs:
             case: simple-java-agent
           - name: Istio ALS
             case: istio-als
+          - name: Event
+            case: event
+          - name: Menu
+            case: menu
+          - name: Alarm
+            case: alarm
+          - name: Log
+            case: log
+          - name: Meter
+            case: meter
+          - name: Trace Profiling
+            case: trace-profiling
+          - name: VM Telegraf
+            case: vm-telegraf
+          - name: VM Zabbix
+            case: vm-zabbix
+          - name: Zipkin
+            case: zipkin
     steps:
       - name: Checkout with submodules
         uses: actions/checkout@v4
diff --git a/test/e2e/cases/alarm/docker-compose.yml 
b/test/e2e/cases/alarm/docker-compose.yml
new file mode 100644
index 0000000..396e3ba
--- /dev/null
+++ b/test/e2e/cases/alarm/docker-compose.yml
@@ -0,0 +1,91 @@
+# 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.
+
+services:
+  banyandb:
+    extends:
+      file: 
../../../../skywalking/test/e2e-v2/script/docker-compose/base-compose.yml
+      service: banyandb
+    ports:
+      - 17912
+
+  oap:
+    image: skywalking-oap-native:latest
+    expose:
+      - 11800
+      - 12800
+    networks:
+      - e2e
+    ports:
+      - 12800
+    environment:
+      SW_HEALTH_CHECKER: default
+      SW_STORAGE_BANYANDB_TARGETS: banyandb:17912
+      SW_CONFIGURATION: none
+      SW_SEARCHABLE_ALARM_TAG_KEYS: level,receivers
+    depends_on:
+      banyandb:
+        condition: service_healthy
+    volumes:
+      - 
../../../../skywalking/test/e2e-v2/cases/alarm/alarm-settings.yml:/skywalking/config/alarm-settings.yml
+    healthcheck:
+      test: ["CMD-SHELL", "nc -nz 127.0.0.1 11800 || exit 1"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+  provider-jar:
+    image: 
"ghcr.io/apache/skywalking/e2e-service-provider:${SW_E2E_SERVICE_COMMIT}"
+    entrypoint: ["cp", "/app.jar", "/jars/services_provider.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+
+  provider:
+    image: 
"ghcr.io/apache/skywalking-java/skywalking-java:${SW_AGENT_JAVA_COMMIT}-java${SW_AGENT_JDK_VERSION}"
+    command: ["java", "-jar", "/jars/services_provider.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+    expose:
+      - 9090
+    ports:
+      - 9090
+    environment:
+      SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
+      SW_LOGGING_OUTPUT: CONSOLE
+      SW_AGENT_NAME: e2e-service-provider
+      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
+      timeout: 60s
+      retries: 120
+    depends_on:
+      oap:
+        condition: service_healthy
+      provider-jar:
+        condition: service_completed_successfully
+
+volumes:
+  service-jars:
+
+networks:
+  e2e:
diff --git a/test/e2e/cases/alarm/e2e.yaml b/test/e2e/cases/alarm/e2e.yaml
new file mode 100644
index 0000000..77433f8
--- /dev/null
+++ b/test/e2e/cases/alarm/e2e.yaml
@@ -0,0 +1,48 @@
+# 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.
+
+# Alarm E2E — native OAP with BanyanDB
+# Tests alarm module, webhook, and alarm query via GraphQL.
+
+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 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+
+trigger:
+  action: http
+  interval: 3s
+  times: 45
+  url: http://${provider_host}:${provider_9090}/users
+  method: POST
+  body: '{"id":"123","name":"skywalking"}'
+  headers:
+    "Content-Type": "application/json"
+
+verify:
+  retry:
+    count: 30
+    interval: 3s
+  cases:
+    - includes:
+        - ../../../../skywalking/test/e2e-v2/cases/alarm/alarm-cases.yaml
diff --git a/test/e2e/cases/event/docker-compose.yml 
b/test/e2e/cases/event/docker-compose.yml
new file mode 100644
index 0000000..8ec8ab1
--- /dev/null
+++ b/test/e2e/cases/event/docker-compose.yml
@@ -0,0 +1,48 @@
+# 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.
+
+services:
+  banyandb:
+    extends:
+      file: 
../../../../skywalking/test/e2e-v2/script/docker-compose/base-compose.yml
+      service: banyandb
+    ports:
+      - 17912
+
+  oap:
+    image: skywalking-oap-native:latest
+    expose:
+      - 11800
+      - 12800
+    networks:
+      - e2e
+    ports:
+      - 11800
+      - 12800
+    environment:
+      SW_HEALTH_CHECKER: default
+      SW_STORAGE_BANYANDB_TARGETS: banyandb:17912
+      SW_CONFIGURATION: none
+    depends_on:
+      banyandb:
+        condition: service_healthy
+    healthcheck:
+      test: ["CMD-SHELL", "nc -nz 127.0.0.1 11800 || exit 1"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+networks:
+  e2e:
diff --git a/test/e2e/cases/event/e2e.yaml b/test/e2e/cases/event/e2e.yaml
new file mode 100644
index 0000000..85100bb
--- /dev/null
+++ b/test/e2e/cases/event/e2e.yaml
@@ -0,0 +1,38 @@
+# 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.
+
+# Event E2E — native OAP with BanyanDB
+# Tests receiver-event module via gRPC event reporting.
+
+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 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+
+verify:
+  retry:
+    count: 20
+    interval: 3s
+  cases:
+    - includes:
+        - ../../../../skywalking/test/e2e-v2/cases/event/event-cases.yaml
diff --git a/test/e2e/cases/log/docker-compose.yml 
b/test/e2e/cases/log/docker-compose.yml
new file mode 100644
index 0000000..b1c78ec
--- /dev/null
+++ b/test/e2e/cases/log/docker-compose.yml
@@ -0,0 +1,90 @@
+# 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.
+
+services:
+  banyandb:
+    extends:
+      file: 
../../../../skywalking/test/e2e-v2/script/docker-compose/base-compose.yml
+      service: banyandb
+    ports:
+      - 17912
+
+  oap:
+    image: skywalking-oap-native:latest
+    expose:
+      - 11800
+      - 12800
+    networks:
+      - e2e
+    ports:
+      - 12800
+    environment:
+      SW_HEALTH_CHECKER: default
+      SW_STORAGE_BANYANDB_TARGETS: banyandb:17912
+      SW_CONFIGURATION: none
+      SW_LOG_LAL_FILES: default
+      SW_LOG_MAL_FILES: ""
+    depends_on:
+      banyandb:
+        condition: service_healthy
+    healthcheck:
+      test: ["CMD-SHELL", "nc -nz 127.0.0.1 11800 || exit 1"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+  provider-jar:
+    image: 
"ghcr.io/apache/skywalking/e2e-service-provider:${SW_E2E_SERVICE_COMMIT}"
+    entrypoint: ["cp", "/app.jar", "/jars/services_provider.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+
+  provider:
+    image: 
"ghcr.io/apache/skywalking-java/skywalking-java:${SW_AGENT_JAVA_COMMIT}-java${SW_AGENT_JDK_VERSION}"
+    command: ["java", "-jar", "/jars/services_provider.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+    expose:
+      - 9090
+    ports:
+      - 9090
+    environment:
+      SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
+      SW_LOGGING_OUTPUT: CONSOLE
+      SW_AGENT_NAME: e2e-service-provider
+      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
+      timeout: 60s
+      retries: 120
+    depends_on:
+      oap:
+        condition: service_healthy
+      provider-jar:
+        condition: service_completed_successfully
+
+volumes:
+  service-jars:
+
+networks:
+  e2e:
diff --git a/test/e2e/cases/log/e2e.yaml b/test/e2e/cases/log/e2e.yaml
new file mode 100644
index 0000000..d4e0305
--- /dev/null
+++ b/test/e2e/cases/log/e2e.yaml
@@ -0,0 +1,59 @@
+# 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.
+
+# Log E2E — native OAP with BanyanDB
+# Tests receiver-log, LAL engine, and log query via GraphQL.
+# Uses the built-in default LAL config (custom test LAL scripts are
+# compiled into the native binary at build time and cannot be mounted).
+
+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 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+
+trigger:
+  action: http
+  interval: 3s
+  times: -1
+  url: http://${provider_host}:${provider_9090}/logs/trigger
+  method: GET
+
+verify:
+  retry:
+    count: 20
+    interval: 10s
+  cases:
+    # service list
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql service layer GENERAL
+      expected: 
../../../../skywalking/test/e2e-v2/cases/log/expected/service.yml
+    # service endpoint
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=logs 
--service-name=e2e-service-provider
+      expected: 
../../../../skywalking/test/e2e-v2/cases/log/expected/service-endpoint.yml
+    # service instance list
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql instance list 
--service-name=e2e-service-provider
+      expected: 
../../../../skywalking/test/e2e-v2/cases/log/expected/service-instance.yml
+    - query: |
+        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql logs list 
--service-name=e2e-service-provider --tags level=INFO --trace-id=$( \
+            swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql tv2 ls | yq e '.traces | 
map(select(.spans[0].endpointname == "GET:/logs/trigger")) | 
.[0].spans[0].traceid' -
+        )
+      expected: ../../../../skywalking/test/e2e-v2/cases/log/expected/logs.yml
diff --git a/test/e2e/cases/menu/docker-compose.yml 
b/test/e2e/cases/menu/docker-compose.yml
new file mode 100644
index 0000000..3e0e39d
--- /dev/null
+++ b/test/e2e/cases/menu/docker-compose.yml
@@ -0,0 +1,127 @@
+# 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.
+
+services:
+  banyandb:
+    extends:
+      file: 
../../../../skywalking/test/e2e-v2/script/docker-compose/base-compose.yml
+      service: banyandb
+    ports:
+      - 17912
+
+  oap:
+    image: skywalking-oap-native:latest
+    expose:
+      - 11800
+      - 12800
+    networks:
+      - e2e
+    ports:
+      - 12800
+    environment:
+      SW_HEALTH_CHECKER: default
+      SW_STORAGE_BANYANDB_TARGETS: banyandb:17912
+      SW_CONFIGURATION: none
+    depends_on:
+      banyandb:
+        condition: service_healthy
+    healthcheck:
+      test: ["CMD-SHELL", "nc -nz 127.0.0.1 11800 || exit 1"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+  provider-jar:
+    image: 
"ghcr.io/apache/skywalking/e2e-service-provider:${SW_E2E_SERVICE_COMMIT}"
+    entrypoint: ["cp", "/app.jar", "/jars/services_provider.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+
+  consumer-jar:
+    image: 
"ghcr.io/apache/skywalking/e2e-service-consumer:${SW_E2E_SERVICE_COMMIT}"
+    entrypoint: ["cp", "/app.jar", "/jars/services_consumer.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+
+  provider:
+    image: 
"ghcr.io/apache/skywalking-java/skywalking-java:${SW_AGENT_JAVA_COMMIT}-java${SW_AGENT_JDK_VERSION}"
+    command: ["java", "-jar", "/jars/services_provider.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+    expose:
+      - 9090
+    ports:
+      - 9090
+    environment:
+      SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
+      SW_LOGGING_OUTPUT: CONSOLE
+      SW_AGENT_NAME: e2e-service-provider
+      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
+      timeout: 60s
+      retries: 120
+    depends_on:
+      oap:
+        condition: service_healthy
+      provider-jar:
+        condition: service_completed_successfully
+
+  consumer:
+    image: 
"ghcr.io/apache/skywalking-java/skywalking-java:${SW_AGENT_JAVA_COMMIT}-java${SW_AGENT_JDK_VERSION}"
+    command: ["java", "-jar", "/jars/services_consumer.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+    expose:
+      - 9092
+    ports:
+      - 9092
+    environment:
+      SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
+      SW_LOGGING_OUTPUT: CONSOLE
+      PROVIDER_URL: http://provider:9090
+      SW_AGENT_NAME: e2e-service-consumer
+      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
+      timeout: 60s
+      retries: 120
+    depends_on:
+      provider:
+        condition: service_healthy
+      consumer-jar:
+        condition: service_completed_successfully
+
+volumes:
+  service-jars:
+
+networks:
+  e2e:
diff --git a/test/e2e/cases/menu/e2e.yaml b/test/e2e/cases/menu/e2e.yaml
new file mode 100644
index 0000000..9accae8
--- /dev/null
+++ b/test/e2e/cases/menu/e2e.yaml
@@ -0,0 +1,48 @@
+# 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.
+
+# Menu E2E — native OAP with BanyanDB
+# Tests GraphQL menu/dashboard metadata.
+
+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 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+
+trigger:
+  action: http
+  interval: 3s
+  times: -1
+  url: http://${consumer_host}:${consumer_9092}/users
+  method: POST
+  body: '{"id":"123","name":"skywalking"}'
+  headers:
+    "Content-Type": "application/json"
+
+verify:
+  retry:
+    count: 20
+    interval: 10s
+  cases:
+    - includes:
+        - ../../../../skywalking/test/e2e-v2/cases/menu/menu-cases.yaml
diff --git a/test/e2e/cases/meter/docker-compose.yml 
b/test/e2e/cases/meter/docker-compose.yml
new file mode 100644
index 0000000..14fc146
--- /dev/null
+++ b/test/e2e/cases/meter/docker-compose.yml
@@ -0,0 +1,95 @@
+# 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.
+
+services:
+  banyandb:
+    extends:
+      file: 
../../../../skywalking/test/e2e-v2/script/docker-compose/base-compose.yml
+      service: banyandb
+    ports:
+      - 17912
+
+  oap:
+    image: skywalking-oap-native:latest
+    expose:
+      - 11800
+      - 12800
+    networks:
+      - e2e
+    ports:
+      - 12800
+    environment:
+      SW_HEALTH_CHECKER: default
+      SW_STORAGE_BANYANDB_TARGETS: banyandb:17912
+      SW_CONFIGURATION: none
+      SW_METER_ANALYZER_ACTIVE_FILES: spring-micrometer,java-agent
+      # virtual cache test case
+      SW_SLOW_CACHE_SLOW_WRITE_THRESHOLD: default:-1
+      SW_SLOW_CACHE_SLOW_READ_THRESHOLD: default:-1
+      SW_CORE_TOPN_REPORT_PERIOD: 1
+    depends_on:
+      banyandb:
+        condition: service_healthy
+    healthcheck:
+      test: ["CMD-SHELL", "nc -nz 127.0.0.1 11800 || exit 1"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+  provider-jar:
+    image: 
"ghcr.io/apache/skywalking/e2e-service-provider:${SW_E2E_SERVICE_COMMIT}"
+    entrypoint: ["cp", "/app.jar", "/jars/services_provider.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+
+  provider:
+    image: 
"ghcr.io/apache/skywalking-java/skywalking-java:${SW_AGENT_JAVA_COMMIT}-java${SW_AGENT_JDK_VERSION}"
+    # Activate guava-cache plugin for virtual cache test case
+    command: ["bash", "-c", "cp 
/skywalking/agent/optional-plugins/apm-guava-cache-plugin*.jar 
/skywalking/agent/plugins/ && java -jar /jars/services_provider.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+    expose:
+      - 9090
+    ports:
+      - 9090
+    environment:
+      SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
+      SW_LOGGING_OUTPUT: CONSOLE
+      SW_AGENT_NAME: e2e-service-provider
+      SW_AGENT_INSTANCE_NAME: provider1
+      SW_AGENT_COLLECTOR_GET_PROFILE_TASK_INTERVAL: 1
+      SW_AGENT_COLLECTOR_GET_AGENT_DYNAMIC_CONFIG_INTERVAL: 1
+      SW_METER_REPORT_INTERVAL: 5
+      SW_METER_ACTIVE: 'true'
+    healthcheck:
+      test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9090"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+    depends_on:
+      oap:
+        condition: service_healthy
+      provider-jar:
+        condition: service_completed_successfully
+
+volumes:
+  service-jars:
+
+networks:
+  e2e:
diff --git a/test/e2e/cases/meter/e2e.yaml b/test/e2e/cases/meter/e2e.yaml
new file mode 100644
index 0000000..f0160ec
--- /dev/null
+++ b/test/e2e/cases/meter/e2e.yaml
@@ -0,0 +1,90 @@
+# 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.
+
+# Meter E2E — native OAP with BanyanDB
+# Tests receiver-meter, MAL processing, JVM/agent metrics, and virtual 
cache/DB.
+# Note: batch-meter test (mock-sender) is excluded because the mock-sender
+# has no pre-built GHCR image. The batch-meter analyzer config is compiled
+# into the native binary but not activated here.
+
+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 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+
+trigger:
+  action: http
+  interval: 3s
+  times: -1
+  url: http://${provider_host}:${provider_9090}/users
+  method: POST
+  body: '{"id":"123","name":"skywalking"}'
+  headers:
+    "Content-Type": "application/json"
+
+verify:
+  retry:
+    count: 30
+    interval: 3s
+  cases:
+    # service list
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql service ls
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/service.yml
+    # service instance list
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql instance list 
--service-name=e2e-service-provider
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/service-instance.yml
+    # service instance metrics linear — JVM/agent metrics
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_jvm_memory_max --instance-name=provider1 
--service-name=e2e-service-provider
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/metrics-has-value.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_jvm_threads_live --instance-name=provider1 
--service-name=e2e-service-provider
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/metrics-has-value.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_process_files_max --instance-name=provider1 
--service-name=e2e-service-provider
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/metrics-has-value.yml
+    # virtual cache
+    - query: |
+        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=cache_read_resp_time  --service-id=R3VhdmFDYWNoZS1sb2NhbA==.0
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/virtual_cache_has_metrics.yml
+    - query: |
+        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=cache_write_sla  --service-id=R3VhdmFDYWNoZS1sb2NhbA==.0
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/virtual_cache_has_metrics.yml
+    - query: |
+        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=cache_access_cpm  --service-id=R3VhdmFDYWNoZS1sb2NhbA==.0
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/virtual_cache_has_metrics.yml
+    - query: |
+        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression="top_n(top_n_cache_write_command,10,des)" 
--service-id=R3VhdmFDYWNoZS1sb2NhbA==.0
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/virtual_cache_has_topN_records.yml
+    # virtual database
+    - query: |
+        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=database_access_resp_time  --service-id=bG9jYWxob3N0Oi0x.0
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/metrics-has-value.yml
+    # agent so11y
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_java_agent_created_tracing_context_count 
--instance-name=provider1 --service-name=e2e-service-provider
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/metrics-has-value-label-created_by.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_java_agent_finished_tracing_context_count 
--instance-name=provider1 --service-name=e2e-service-provider
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/metrics-has-value.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_java_agent_created_ignored_context_count 
--instance-name=provider1 --service-name=e2e-service-provider
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/metrics-has-value-label-created_by.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_java_agent_finished_ignored_context_count 
--instance-name=provider1 --service-name=e2e-service-provider
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/metrics-has-value.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_java_agent_tracing_context_execution_time_percentile 
--instance-name=provider1 --service-name=e2e-service-provider
+      expected: 
../../../../skywalking/test/e2e-v2/cases/meter/expected/metrics-has-value-label-percentile.yml
diff --git a/test/e2e/cases/trace-profiling/docker-compose.yml 
b/test/e2e/cases/trace-profiling/docker-compose.yml
new file mode 100644
index 0000000..7695a30
--- /dev/null
+++ b/test/e2e/cases/trace-profiling/docker-compose.yml
@@ -0,0 +1,88 @@
+# 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.
+
+services:
+  banyandb:
+    extends:
+      file: 
../../../../skywalking/test/e2e-v2/script/docker-compose/base-compose.yml
+      service: banyandb
+    ports:
+      - 17912
+
+  oap:
+    image: skywalking-oap-native:latest
+    expose:
+      - 11800
+      - 12800
+    networks:
+      - e2e
+    ports:
+      - 12800
+    environment:
+      SW_HEALTH_CHECKER: default
+      SW_STORAGE_BANYANDB_TARGETS: banyandb:17912
+      SW_CONFIGURATION: none
+    depends_on:
+      banyandb:
+        condition: service_healthy
+    healthcheck:
+      test: ["CMD-SHELL", "nc -nz 127.0.0.1 11800 || exit 1"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+  provider-jar:
+    image: 
"ghcr.io/apache/skywalking/e2e-service-provider:${SW_E2E_SERVICE_COMMIT}"
+    entrypoint: ["cp", "/app.jar", "/jars/services_provider.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+
+  provider:
+    image: 
"ghcr.io/apache/skywalking-java/skywalking-java:${SW_AGENT_JAVA_COMMIT}-java${SW_AGENT_JDK_VERSION}"
+    command: ["java", "-jar", "/jars/services_provider.jar"]
+    volumes:
+      - service-jars:/jars
+    networks:
+      - e2e
+    expose:
+      - 9090
+    ports:
+      - 9090
+    environment:
+      SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
+      SW_LOGGING_OUTPUT: CONSOLE
+      SW_AGENT_NAME: e2e-service-provider
+      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
+      timeout: 60s
+      retries: 120
+    depends_on:
+      oap:
+        condition: service_healthy
+      provider-jar:
+        condition: service_completed_successfully
+
+volumes:
+  service-jars:
+
+networks:
+  e2e:
diff --git a/test/e2e/cases/trace-profiling/e2e.yaml 
b/test/e2e/cases/trace-profiling/e2e.yaml
new file mode 100644
index 0000000..5910e2f
--- /dev/null
+++ b/test/e2e/cases/trace-profiling/e2e.yaml
@@ -0,0 +1,39 @@
+# 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.
+
+# Trace Profiling E2E — native OAP with BanyanDB
+# Tests trace profiling lifecycle: task creation, execution, and analysis.
+
+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 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+
+verify:
+  retry:
+    count: 20
+    interval: 3s
+  cases:
+    - includes:
+        - 
../../../../skywalking/test/e2e-v2/cases/profiling/trace/profiling-cases-trace-v2.yaml
+        - 
../../../../skywalking/test/e2e-v2/cases/profiling/trace/profiling-cases.yaml
diff --git a/test/e2e/cases/vm-telegraf/docker-compose.yml 
b/test/e2e/cases/vm-telegraf/docker-compose.yml
new file mode 100644
index 0000000..b6fce96
--- /dev/null
+++ b/test/e2e/cases/vm-telegraf/docker-compose.yml
@@ -0,0 +1,59 @@
+# 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.
+
+services:
+  banyandb:
+    extends:
+      file: 
../../../../skywalking/test/e2e-v2/script/docker-compose/base-compose.yml
+      service: banyandb
+    ports:
+      - 17912
+
+  oap:
+    image: skywalking-oap-native:latest
+    expose:
+      - 11800
+      - 12800
+    networks:
+      - e2e
+    ports:
+      - 12800
+    environment:
+      SW_HEALTH_CHECKER: default
+      SW_STORAGE_BANYANDB_TARGETS: banyandb:17912
+      SW_CONFIGURATION: none
+      SW_RECEIVER_TELEGRAF: default
+      SW_RECEIVER_TELEGRAF_ACTIVE_FILES: vm
+    depends_on:
+      banyandb:
+        condition: service_healthy
+    healthcheck:
+      test: ["CMD-SHELL", "nc -nz 127.0.0.1 11800 || exit 1"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+  telegraf:
+    image: telegraf:1.24
+    networks:
+      - e2e
+    volumes:
+      - 
../../../../skywalking/test/e2e-v2/cases/vm/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf
+    depends_on:
+      oap:
+        condition: service_healthy
+
+networks:
+  e2e:
diff --git a/test/e2e/cases/vm-telegraf/e2e.yaml 
b/test/e2e/cases/vm-telegraf/e2e.yaml
new file mode 100644
index 0000000..16a4e1d
--- /dev/null
+++ b/test/e2e/cases/vm-telegraf/e2e.yaml
@@ -0,0 +1,54 @@
+# 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.
+
+# VM Telegraf E2E — native OAP with BanyanDB
+# Tests receiver-telegraf module with VM metrics via Telegraf agent.
+
+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 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+
+verify:
+  retry:
+    count: 20
+    interval: 3s
+  cases:
+    # service list
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql service ls
+      expected: 
../../../../skywalking/test/e2e-v2/cases/vm/expected/service.yml
+    # linear metrics
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_vm_memory_used --service-name=vm-service
+      expected: 
../../../../skywalking/test/e2e-v2/cases/vm/expected/metrics-has-value.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_vm_memory_total --service-name=vm-service
+      expected: 
../../../../skywalking/test/e2e-v2/cases/vm/expected/metrics-has-value.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_vm_memory_available --service-name=vm-service
+      expected: 
../../../../skywalking/test/e2e-v2/cases/vm/expected/metrics-has-value.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_vm_cpu_total_percentage --service-name=vm-service
+      expected: 
../../../../skywalking/test/e2e-v2/cases/vm/expected/metrics-has-value.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_vm_cpu_load1 --service-name=vm-service
+      expected: 
../../../../skywalking/test/e2e-v2/cases/vm/expected/metrics-has-value.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_vm_cpu_load5 --service-name=vm-service
+      expected: 
../../../../skywalking/test/e2e-v2/cases/vm/expected/metrics-has-value.yml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_vm_cpu_load15 --service-name=vm-service
+      expected: 
../../../../skywalking/test/e2e-v2/cases/vm/expected/metrics-has-value.yml
diff --git a/test/e2e/cases/vm-zabbix/docker-compose.yml 
b/test/e2e/cases/vm-zabbix/docker-compose.yml
new file mode 100644
index 0000000..fbba1c1
--- /dev/null
+++ b/test/e2e/cases/vm-zabbix/docker-compose.yml
@@ -0,0 +1,58 @@
+# 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.
+
+services:
+  banyandb:
+    extends:
+      file: 
../../../../skywalking/test/e2e-v2/script/docker-compose/base-compose.yml
+      service: banyandb
+    ports:
+      - 17912
+
+  oap:
+    image: skywalking-oap-native:latest
+    expose:
+      - 11800
+      - 12800
+    networks:
+      - e2e
+    ports:
+      - 12800
+    environment:
+      SW_HEALTH_CHECKER: default
+      SW_STORAGE_BANYANDB_TARGETS: banyandb:17912
+      SW_CONFIGURATION: none
+      SW_RECEIVER_ZABBIX: default
+    depends_on:
+      banyandb:
+        condition: service_healthy
+    healthcheck:
+      test: ["CMD-SHELL", "nc -nz 127.0.0.1 11800 || exit 1"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+  zabbix-client:
+    image: zabbix/zabbix-agent:alpine-6.4.15
+    networks:
+      - e2e
+    volumes:
+      - 
../../../../skywalking/test/e2e-v2/cases/vm/zabbix/zabbix_agentd.conf:/etc/zabbix/zabbix_agentd.d/zabbix_agentd.conf
+    depends_on:
+      oap:
+        condition: service_healthy
+
+networks:
+  e2e:
diff --git a/test/e2e/cases/vm-zabbix/e2e.yaml 
b/test/e2e/cases/vm-zabbix/e2e.yaml
new file mode 100644
index 0000000..184a1c9
--- /dev/null
+++ b/test/e2e/cases/vm-zabbix/e2e.yaml
@@ -0,0 +1,43 @@
+# 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.
+
+# VM Zabbix E2E — native OAP with BanyanDB
+# Tests receiver-zabbix module (disabled by default, activated via env var).
+
+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 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+
+verify:
+  retry:
+    count: 20
+    interval: 3s
+  cases:
+    - includes:
+        - ../../../../skywalking/test/e2e-v2/cases/vm/vm-cases.yaml
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_vm_vfs_fs_size --service-name=vm-service
+      expected: 
../../../../skywalking/test/e2e-v2/cases/vm/expected/metrics-has-vfs-value-label.yml
+    # multiple-linear metrics
+    - query: swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics exec 
--expression=meter_vm_cpu_average_used --service-name=vm-service
+      expected: 
../../../../skywalking/test/e2e-v2/cases/vm/expected/metrics-has-average-value-label-zabbix.yml
diff --git a/test/e2e/cases/zipkin/docker-compose.yml 
b/test/e2e/cases/zipkin/docker-compose.yml
new file mode 100644
index 0000000..585fb66
--- /dev/null
+++ b/test/e2e/cases/zipkin/docker-compose.yml
@@ -0,0 +1,70 @@
+# 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.
+
+services:
+  banyandb:
+    extends:
+      file: 
../../../../skywalking/test/e2e-v2/script/docker-compose/base-compose.yml
+      service: banyandb
+    ports:
+      - 17912
+
+  oap:
+    image: skywalking-oap-native:latest
+    expose:
+      - 11800
+      - 12800
+      - 9411
+    networks:
+      - e2e
+    ports:
+      - 9412
+    environment:
+      SW_HEALTH_CHECKER: default
+      SW_STORAGE_BANYANDB_TARGETS: banyandb:17912
+      SW_CONFIGURATION: none
+      SW_QUERY_ZIPKIN: default
+      SW_RECEIVER_ZIPKIN: default
+    depends_on:
+      banyandb:
+        condition: service_healthy
+    healthcheck:
+      test: ["CMD-SHELL", "nc -nz 127.0.0.1 11800 || exit 1"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+  frontend:
+    extends:
+      file: 
../../../../skywalking/test/e2e-v2/cases/zipkin/docker-compose-brave.yml
+      service: frontend
+    depends_on:
+      backend:
+        condition: service_healthy
+      oap:
+        condition: service_healthy
+    ports:
+      - 8081
+
+  backend:
+    extends:
+      file: 
../../../../skywalking/test/e2e-v2/cases/zipkin/docker-compose-brave.yml
+      service: backend
+    depends_on:
+      oap:
+        condition: service_healthy
+
+networks:
+  e2e:
diff --git a/test/e2e/cases/zipkin/e2e.yaml b/test/e2e/cases/zipkin/e2e.yaml
new file mode 100644
index 0000000..6115482
--- /dev/null
+++ b/test/e2e/cases/zipkin/e2e.yaml
@@ -0,0 +1,46 @@
+# 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.
+
+# Zipkin E2E — native OAP with BanyanDB
+# Tests receiver-zipkin and query-zipkin modules (disabled by default,
+# activated via env vars).
+
+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 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash 
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+
+trigger:
+  action: http
+  interval: 3s
+  times: -1
+  url: http://${frontend_host}:${frontend_8081}
+  method: POST
+
+verify:
+  retry:
+    count: 20
+    interval: 10s
+  cases:
+    - includes:
+      - ../../../../skywalking/test/e2e-v2/cases/zipkin/zipkin-cases.yaml

Reply via email to