This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new 86b8c45082 Add GraalVM native image distribution documentation (#13755)
86b8c45082 is described below
commit 86b8c45082c7485e0090b38f2b60e89f19331eba
Author: 吴晟 Wu Sheng <[email protected]>
AuthorDate: Mon Mar 23 22:36:46 2026 +0800
Add GraalVM native image distribution documentation (#13755)
---
docs/en/setup/backend/graalvm-distro.md | 59 +++++++++++++++++++++++++++++++++
docs/menu.yml | 2 ++
2 files changed, 61 insertions(+)
diff --git a/docs/en/setup/backend/graalvm-distro.md
b/docs/en/setup/backend/graalvm-distro.md
new file mode 100644
index 0000000000..bd5f7f5e58
--- /dev/null
+++ b/docs/en/setup/backend/graalvm-distro.md
@@ -0,0 +1,59 @@
+# GraalVM Native Image Distribution
+
+Apache SkyWalking provides an alternative distribution built with GraalVM
native image, delivered as a
+self-contained binary with faster startup and lower memory footprint.
+
+## Why Choose the GraalVM Distro
+
+| Aspect | Standard OAP (JVM)
| GraalVM Distro |
+|--------------------------------------|--------------------------------------------|----------------------------|
+| Startup | Seconds to minutes
| Instant |
+| Memory | 1 GB+ heap typical
| ~512 MB |
+| Artifact | JARs + JVM required
| ~203 MB single binary |
+| Storage backends | BanyanDB, Elasticsearch, MySQL,
PostgreSQL | BanyanDB only |
+| Module set | Dynamically loaded via SPI
| Fixed at build time |
+| DSL rules (OAL, MAL, LAL, Hierarchy) | Compiled at startup
| Pre-compiled at build time |
+
+Benchmark results on JVM class initialization and runtime resource usage
(Apple M3 Max, BanyanDB backend, 20 RPS sustained load):
+
+| Metric | Standard OAP (JVM) | GraalVM Distro | Improvement |
+|----------------------|--------------------|----------------|---------------|
+| Cold boot | 635 ms | 5 ms | ~127x faster |
+| Memory (idle) | ~1.2 GiB | ~41 MiB | 97% reduction |
+| Memory (20 RPS) | 2,068 MiB | 629 MiB | 70% reduction |
+| CPU (median, 20 RPS) | 101 millicores | 68 millicores | 33% reduction |
+| Throughput | Baseline | Identical | No difference |
+
+See the [full benchmark blog
post](https://skywalking.apache.org/blog/2026-03-13-skywalking-graalvm-distro-design-and-benchmarks/)
for details.
+
+The GraalVM distro is a good fit when you want:
+
+- **Container-friendly deployments** with minimal image size and instant
readiness.
+- **Lower resource usage** for small-to-medium scale environments.
+- **BanyanDB as your storage backend**, which is already the recommended
default.
+
+## Limitations
+
+- **BanyanDB is the sole supported storage backend.** Elasticsearch, MySQL,
and PostgreSQL are not available.
+- **Modules are selected at build time.** Runtime SPI discovery is not
supported.
+- **DSL rules are pre-compiled at build time.** Dynamic rule changes require
rebuilding the binary.
+
+All existing SkyWalking agents, UI, and CLI tools remain fully compatible.
+
+## Download
+
+Pre-built binaries are available for Linux (AMD64/ARM64) and macOS (ARM64) on
the
+[SkyWalking
Downloads](https://skywalking.apache.org/downloads/#SkyWalkingGraalVMDistro)
page.
+
+Docker images are available on [Docker
Hub](https://hub.docker.com/r/apache/skywalking-graalvm-distro) as
`apache/skywalking-graalvm-distro`.
+
+## Version Mapping
+
+Each GraalVM distro release corresponds to a specific SkyWalking OAP version.
+See the [version mapping
table](https://skywalking.apache.org/docs/skywalking-graalvm-distro/next/version-mapping/)
+for the exact correspondence.
+
+## Documentation
+
+For setup instructions, configuration details, and the full documentation,
refer to the
+[SkyWalking GraalVM Distro
documentation](https://skywalking.apache.org/docs/skywalking-graalvm-distro/latest/readme/).
diff --git a/docs/menu.yml b/docs/menu.yml
index 4558a252ea..38ad052ada 100644
--- a/docs/menu.yml
+++ b/docs/menu.yml
@@ -44,6 +44,8 @@ catalog:
path: "/en/setup/backend/backend-docker"
- name: "Run with Kubernetes"
path: "/en/setup/backend/backend-k8s"
+ - name: "GraalVM Native Image Distribution"
+ path: "/en/setup/backend/graalvm-distro"
- name: "Marketplace"
catalog:
- name: "Overview"