Add live-debugging e2e + fix native-image 404 on the unsupported-admin stub (#29)

  - live-debugging e2e case — boots the native OAP and asserts the admin server (:17128) returns the structured HTTP 501 for the DSL live debugger (/dsl-debugging/*) and
  runtime-rule (/runtime/*) endpoints, the features this distro pre-compiles away. 8 verify cases (6 response-body assertions across both prefixes/verbs + 2 HTTP-status-line
  checks); added to the CI matrix.
  - Real bug found + fixed — those endpoints were returning 404, not 501. UnsupportedAdminFeatureHandler is a distro-only Armeria handler the build-time precompiler can't scan
  (circular dependency), so its reflection metadata was never registered and Armeria silently built zero routes. The stub had been dead since written — no prior e2e touched
  port 17128. Fixed by registering it in reachability-metadata.json.
14 files changed
tree: fe03aa617ec63d299d910ddacd484f3f241c870a
  1. .claude/
  2. .github/
  3. .mvn/
  4. apm-checkstyle/
  5. benchmark/
  6. build-tools/
  7. changes/
  8. docker/
  9. docs/
  10. oap-graalvm-native/
  11. oap-graalvm-server/
  12. oap-libs-for-graalvm/
  13. release/
  14. test/
  15. .asf.yaml
  16. .dockerignore
  17. .gitignore
  18. .gitmodules
  19. .licenserc.yaml
  20. AGENTS.md
  21. CLAUDE.md
  22. codeStyle.xml
  23. LICENSE
  24. Makefile
  25. mvnw
  26. mvnw.cmd
  27. NOTICE
  28. pom.xml
  29. README.md
README.md

SkyWalking GraalVM Distro (Experimental)

Apache SkyWalking is an open-source APM and observability platform for distributed systems, providing metrics, tracing, logging, and profiling capabilities.

SkyWalking GraalVM Distro is a distribution of the same Apache SkyWalking OAP server, compiled as a GraalVM native image on JDK 25. It moves all dynamic code generation (OAL, MAL, LAL, Hierarchy via ANTLR4 + Javassist) and classpath scanning from runtime to build time, producing a ~203MB self-contained native binary with the full OAP feature set. No upstream source modifications required.

Key Differences from Upstream

  • Native binary instead of JVM — instant startup, ~512MB memory footprint
  • BanyanDB only — the sole supported storage backend
  • Fixed module set — modules selected at build time, no SPI discovery
  • Pre-compiled DSL — all DSL rules compiled at build time

All existing SkyWalking agents, UI, and tooling work unchanged.

Quick Start

docker run -d \
  -p 12800:12800 \
  -p 11800:11800 \
  -e SW_STORAGE_BANYANDB_TARGETS=<banyandb-host>:17912 \
  apache/skywalking-graalvm-distro:latest

Docker Images

RegistryImage
Docker Hubapache/skywalking-graalvm-distro
GHCRghcr.io/apache/skywalking-graalvm-distro

Available for linux/amd64 and linux/arm64. macOS arm64 (Apple Silicon) native binary is available on the GitHub Release page.

Documentation

Full documentation is available at skywalking.apache.org/docs.

License

Apache License 2.0