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 68ebc83 Update BanyanDB to e1ba421, bump Istio to 1.28.0, add
baseline e2e case
68ebc83 is described below
commit 68ebc83c692531b3a8dd7c67c0d14d17fb97243f
Author: Wu Sheng <[email protected]>
AuthorDate: Thu Mar 12 09:52:38 2026 +0800
Update BanyanDB to e1ba421, bump Istio to 1.28.0, add baseline e2e case
- Sync BanyanDB commit to e1ba421bd6 (required for Zipkin minDuration trace
query)
- Update ISTIO_VERSION from 1.24.0 to 1.28.0
- Add baseline predictor e2e test case
- Add gen/ to .gitignore
- Add SW_PREDICTOR_COMMIT to env to silence docker-compose warnings
---
.github/workflows/ci.yml | 4 +-
.gitignore | 1 +
AGENTS.md | 3 +
test/e2e/Makefile | 10 ++-
test/e2e/cases/baseline/docker-compose.yml | 135 +++++++++++++++++++++++++++++
test/e2e/cases/baseline/e2e.yaml | 51 +++++++++++
test/e2e/script/env | 6 +-
7 files changed, 206 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a85af01..d4de4cb 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -210,7 +210,7 @@ jobs:
timeout-minutes: 30
env:
SW_AGENT_JDK_VERSION: 17
- ISTIO_VERSION: 1.24.0
+ ISTIO_VERSION: 1.28.0
strategy:
fail-fast: false
matrix:
@@ -237,6 +237,8 @@ jobs:
case: vm-zabbix
- name: Zipkin
case: zipkin
+ - name: Baseline
+ case: baseline
steps:
- name: Checkout with submodules
uses: actions/checkout@v4
diff --git a/.gitignore b/.gitignore
index 7cdd938..9d500fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
# Build output
target/
+gen/
dependency-reduced-pom.xml
*.class
diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 0000000..d422017
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,3 @@
+# SkyWalking GraalVM Distro - Development Guide
+
+Please refer to [CLAUDE.md](CLAUDE.md) for the latest project structure,
development principles, technical notes, and build instructions.
diff --git a/test/e2e/Makefile b/test/e2e/Makefile
index 9e5f9a5..3031933 100644
--- a/test/e2e/Makefile
+++ b/test/e2e/Makefile
@@ -18,7 +18,7 @@
# local runs and CI (apache/skywalking-infra-e2e action).
ROOT := ../..
-.PHONY: simple-java-agent istio-als
+.PHONY: simple-java-agent istio-als baseline
# Run simple-java-agent e2e test
# Prerequisites: make docker-native (from root)
@@ -29,5 +29,11 @@ simple-java-agent:
# Run Istio ALS + K8s cluster + BanyanDB e2e test
# Prerequisites: make docker-native (from root), kind, istioctl
istio-als:
- cd $(ROOT) && ISTIO_VERSION=$${ISTIO_VERSION:-1.24.0} \
+ cd $(ROOT) && ISTIO_VERSION=$${ISTIO_VERSION:-1.28.0} \
e2e run -c test/e2e/cases/istio-als/e2e.yaml
+
+# Run baseline predictor e2e test
+# Prerequisites: make docker-native (from root)
+baseline:
+ cd $(ROOT) && SW_AGENT_JDK_VERSION=$${SW_AGENT_JDK_VERSION:-17} \
+ e2e run -c test/e2e/cases/baseline/e2e.yaml
diff --git a/test/e2e/cases/baseline/docker-compose.yml
b/test/e2e/cases/baseline/docker-compose.yml
new file mode 100644
index 0000000..2cb2dc7
--- /dev/null
+++ b/test/e2e/cases/baseline/docker-compose.yml
@@ -0,0 +1,135 @@
+# 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
+ SW_API_PIPELINE_BASELINE_SERVICE_HOST: baseline-predictor
+ depends_on:
+ banyandb:
+ condition: service_healthy
+ volumes:
+ -
../../../../skywalking/test/e2e-v2/cases/baseline/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
+
+ baseline-predictor:
+ image: "ghcr.io/skyapm/skypredictor:${SW_PREDICTOR_COMMIT}"
+ networks:
+ - e2e
+ expose:
+ - 18080
+ ports:
+ - 18080
+ environment:
+ BASELINE_FETCH_METRICS: service_resp_time,service_percentile
+ BASELINE_FETCH_CRON: "* * * * *"
+ BASELINE_FETCH_SERVER_ENDPOINT: http://oap:12800
+ BASELINE_FETCH_SERVER_LAYERS: MESH
+ healthcheck:
+ test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/18080"]
+ interval: 5s
+ timeout: 60s
+ retries: 120
+ depends_on:
+ oap:
+ condition: service_healthy
+
+ sender:
+ image: "eclipse-temurin:8-jre"
+ volumes:
+ -
../../../../skywalking/test/e2e-v2/java-test-service/e2e-mock-sender/target/e2e-mock-sender-2.0.0.jar:/e2e-mock-sender-2.0.0.jar
+ command: ["java", "-jar", "/e2e-mock-sender-2.0.0.jar"]
+ environment:
+ OAP_HOST: oap
+ OAP_GRPC_PORT: 11800
+ networks:
+ - e2e
+ ports:
+ - 9093
+ healthcheck:
+ test: ["CMD", "sh", "-c", "nc -nz 127.0.0.1 9093"]
+ interval: 5s
+ timeout: 60s
+ retries: 120
+ depends_on:
+ oap:
+ condition: service_healthy
+
+volumes:
+ service-jars:
+
+networks:
+ e2e:
diff --git a/test/e2e/cases/baseline/e2e.yaml b/test/e2e/cases/baseline/e2e.yaml
new file mode 100644
index 0000000..6ea6a74
--- /dev/null
+++ b/test/e2e/cases/baseline/e2e.yaml
@@ -0,0 +1,51 @@
+# 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.
+
+# Baseline Predictor E2E — native OAP with BanyanDB + skypredictor
+# Verifies baseline alarm rule with mock metric sender.
+
+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
+ - name: build mock sender
+ command: |
+ cd skywalking && ./mvnw -B -q -f test/e2e-v2/java-test-service/pom.xml
clean package -DskipTests
+
+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: 20
+ interval: 3s
+ cases:
+ - includes:
+ - ../../../../skywalking/test/e2e-v2/cases/baseline/alarm-cases.yaml
diff --git a/test/e2e/script/env b/test/e2e/script/env
index f4df211..cac6d57 100644
--- a/test/e2e/script/env
+++ b/test/e2e/script/env
@@ -16,7 +16,7 @@
# Pre-built images from ghcr.io/apache/skywalking and
ghcr.io/apache/skywalking-java.
# Update when syncing the skywalking submodule.
SW_AGENT_JAVA_COMMIT=2a61027e5eb74ed1258c764ae2ffeabd499416a6
-SW_BANYANDB_COMMIT=208982aaa11092bc38018a9e1b24eda67e829312
+SW_BANYANDB_COMMIT=e1ba421bd624727760c7a69c84c6fe55878fb526
SW_CTL_COMMIT=9a1beab08413ce415a00a8547a238a14691c5655
SW_KUBERNETES_COMMIT_SHA=6fe5e6f0d3b7686c6be0457733e825ee68cb9b35
@@ -25,3 +25,7 @@ SW_UPSTREAM_COMMIT=a0cec0ca237792497d2da0b65757d11f58c3f342
# Last upstream commit that touched test/e2e-v2/java-test-service/
SW_E2E_SERVICE_COMMIT=5e3b3853f5742f906655f3e332459c74b58cfb43
+
+# Not used by distro tests, but defined to silence docker-compose warnings
+# from upstream base-compose.yml which references it for skypredictor service.
+SW_PREDICTOR_COMMIT=54a0197654a3781a6f73ce35146c712af297c994