A re-distribution version of the official Apache SkyWalking OAP server

Clone this repo:

Branches

  1. c888e81 Fix GraphQL type scanner to handle simple name collisions by Wu Sheng · 4 days ago main
  2. b9ccc10 Fix MAL combination pattern resolution and add reflection configs by Wu Sheng · 4 days ago
  3. 1047c8e Fix Alarm, Zabbix, and Telegraf E2E failures by Wu Sheng · 5 days ago
  4. d5a2e19 Add reflection config for Meter, TelegrafDatum, event.Source, Tag by Wu Sheng · 5 days ago
  5. db75f1f Register ZabbixConfig classes for reflection, disable E2E fail-fast by Wu Sheng · 5 days ago

SkyWalking GraalVM Distro (Experimental)

SkyWalking GraalVM Distro is a re-distribution of the official Apache SkyWalking OAP server, targeting GraalVM native image on JDK 25.

This distro moves all dynamic code generation (Javassist, Groovy, classpath scanning) from runtime to build time, producing a ~203MB native binary with full OAP feature set. No upstream source modifications required.

Quick Start

git clone --recurse-submodules https://github.com/apache/skywalking-graalvm-distro.git
cd skywalking-graalvm-distro

# First time: install upstream SkyWalking to Maven cache
JAVA_HOME=/path/to/graalvm-jdk-25 make init-skywalking

# Build distro (precompiler + tests + server)
JAVA_HOME=/path/to/graalvm-jdk-25 make build-distro

# Build native image
JAVA_HOME=/path/to/graalvm-jdk-25 make native-image

# Run with Docker Compose (BanyanDB + OAP native)
docker compose -f docker/docker-compose.yml up

Documentation

Full documentation is available in docs/ and published on the project website.

License

Apache 2.0