Skip to content

Apache SkyWalking

Summary

Apache SkyWalking is an Apache Software Foundation APM and observability platform for distributed, microservice, cloud-native and service-mesh systems. Language agents, eBPF (Rover), Envoy/Istio telemetry and OpenTelemetry feed a Java OAP server. OAP builds topology, metrics, traces, logs, profiling and alarms, and stores them in its purpose-built database BanyanDB (default) or Elasticsearch/OpenSearch, MySQL or PostgreSQL. Release 11.0.0 (2026-08-28) split the UI into the separately released Horizon UI, added runtime hot-update of MAL/LAL rules with a live DSL debugger, and requires BanyanDB 0.11.x.

Key Facts

Attribute Detail
Latest Version OAP 11.0.0 (2026-08-28); Horizon UI 1.0.0 (2026-08-28); BanyanDB 0.11.1 (2026-09-20)
Previous line 10.4.0 (2026-04-01) with BanyanDB 0.10.x and the legacy booster UI
Release cadence Roughly two OAP feature releases per year (10.2.0 Mar 2025, 10.3.0 Nov 2025, 10.4.0 Apr 2026, 11.0.0 Aug 2026); no LTS or backport branches are published
License Apache 2.0
Governance ASF top-level project (graduated 2019)
Languages Java (OAP), Go (BanyanDB, Rover, Satellite, SWCK), TypeScript (Horizon UI)
Default storage BanyanDB (H2 removed in 10.2.0)
OAP runtime Java 11, 17, 21 or 25; default image on JDK 25
Install paths Helm chart 5.0.0 (OCI), SWCK operator 0.11.0, Docker Compose, binary tarball, experimental GraalVM native distro 0.4.0
Repository github.com/apache/skywalking
Stars / contributors ~24.8k / ~996 (2026-04 snapshot)

The full release matrix for every sub-project and agent is in Reference.

Architecture at a Glance

Probes push to OAP. OAP analyzes data with OAL/MAL/LAL, aggregates it in two levels, and persists it to one storage backend. Horizon UI and Grafana read the results through OAP's query APIs.

flowchart LR
    subgraph Probes["Probes"]
        AG["Language agents<br/>(Java, Python, Go, NodeJS, PHP...)"]
        EB["Rover<br/>(eBPF)"]
        OT["OTLP / Zipkin /<br/>Envoy ALS"]
    end
    subgraph OAP["OAP server"]
        RX["Receivers<br/>11800 / 12800"]
        AN["OAL / MAL / LAL<br/>L1 + L2 aggregation"]
        QY["GraphQL, MQE,<br/>PromQL, LogQL, TraceQL"]
        AD["admin-server 17128"]
    end
    subgraph Store["Storage"]
        BDB["BanyanDB 0.11<br/>(default)"]
        ALT["Elasticsearch / OpenSearch<br/>MySQL / PostgreSQL"]
    end
    HUI["Horizon UI"]
    GF["Grafana"]
    Probes --> RX --> AN --> Store
    QY --> Store
    HUI --> QY
    HUI --> AD
    GF --> QY

Internals are covered in Explanation.

Evaluation

Why Choose It

  • Vendor-neutral governance: ASF project with no single-vendor licensing risk.
  • Deep native APM: mature Java agent (9.7.0) plus ASF agents for Python, Go (compile-time), NodeJS, PHP, Rust, Ruby, Nginx LUA, Kong and browser JavaScript. Topology, endpoint metrics and profiling come out of the box.
  • Service mesh and eBPF: Envoy ALS/metrics analysis for Istio, Cilium Hubble fetcher, and Rover eBPF on/off-CPU and network profiling.
  • Purpose-built storage: BanyanDB used about 5x less memory and about 30% less disk than Elasticsearch in the 2024 benchmark (0.6.1 against ES 8.13.2).
  • Operability in 11.0: rule hot-update without restarts, a live debugger for MAL/LAL/OAL, TLS with hot reload on every server, and GenAI / AI-agent monitoring layers.

When It Fits

  • Java-heavy enterprise estates that want agent-based APM with minimal code change.
  • Istio/Envoy meshes that need service topology from mesh telemetry.
  • Organizations that require ASF governance and self-hosting.
  • Large deployments: upstream claims "100+ billion telemetry data" per cluster (README, vendor claim).

Pros and Cons

Pros Cons
ASF governance, Apache 2.0 OAP is a JVM service with multi-GB heaps under load (GraalVM distro is still experimental)
Strong Java agent and profiling (async-profiler, pprof, eBPF) BanyanDB is still 0.x; OAP pins an exact BanyanDB API version, so upgrades are lockstep
Many ASF language agents .NET and C++ agents are community projects, not ASF releases
BanyanDB: lower memory and disk than Elasticsearch Rover and Satellite releases are infrequent (latest 2024-10 and 2025-02)
Mesh-native topology (Envoy ALS) OTLP traces are stored as Zipkin traces in 11.0, not merged into native traces
Horizon UI with login, RBAC, MCP endpoint 11.0 upgrade is breaking: new UI, admin port, and login setup required
Runtime MAL/LAL hot-update and live debugger (11.0) Admin and HTTP query ports have no built-in auth; they need a gateway
GenAI, Envoy AI Gateway and AI-agent monitoring Smaller hosted/cloud ecosystem than Grafana or Datadog

Compatibility

Dimension Support
Ingest protocols Native SkyWalking (gRPC/HTTP, Kafka), OTLP gRPC + HTTP (HTTP since 11.0.0), Zipkin, Prometheus (via OTel Collector), Telegraf, Zabbix, Envoy ALS/metrics service, Cilium Hubble, AWS Firehose
Storage backends BanyanDB 0.11.x (default), Elasticsearch 7/8/9, OpenSearch 1/2/3, MySQL, PostgreSQL
Query APIs GraphQL + MQE, PromQL, LogQL, TraceQL/Tempo (optional), Zipkin (optional)
Service meshes Istio / Envoy (ALS and metrics service); Cilium (Hubble fetcher); Istio ambient ztunnel detection in Rover's development line
Platforms Kubernetes (Helm, SWCK), Docker, bare metal; amd64 and arm64 images
UI Horizon UI 1.0.0 (native for OAP 11, partial for 10.3–10.4); Grafana through PromQL/LogQL/Tempo APIs

Ecosystem and Connections

  • OpenTelemetry: OAP ingests OTLP metrics (through MAL rules), logs (through LAL) and traces (stored as Zipkin in 11.0). See OpenTelemetry and OpenTelemetry Collector.
  • Grafana: PromQL, LogQL and Tempo-compatible APIs let Grafana dashboards query SkyWalking data. See Grafana.
  • Service mesh: Istio Envoy ALS feeds mesh topology. Cilium Hubble flows feed the CILIUM_SERVICE layer.
  • eBPF: Rover belongs to the same toolbox as bpftrace and Coroot's node agent.
  • Kubernetes: deployed through Helm or SWCK on Kubernetes.
  • Databases: PostgreSQL and MySQL work both as storage options and as monitored layers.

Alternatives and Migration

Alternative Choose it instead when
SigNoz You want an OTel-native, ClickHouse-backed single product
LGTM Stack You standardize on Grafana, Prometheus-style metrics and object storage
Victoria Stack Metrics and logs volume and cost dominate
Coroot You want zero-instrumentation eBPF observability
OpenObserve You want S3-backed logs, metrics and traces with SQL

Lock-in: the SkyWalking agent wire protocol (sw8 headers, segment format) and BanyanDB schemas are project-specific. OTLP ingestion and the PromQL/LogQL/TraceQL APIs reduce lock-in at the edges. Moving between storage backends means starting with empty history, because there is no supported cross-backend data migration.

Community Health

  • ASF project with an active dev mailing list, frequent sub-project releases in 2026 (OAP, Horizon, BanyanDB, Java/Python/Go/NodeJS agents, Helm, SWCK), and SWIP design proposals (SWIP-7, 11, 12, 13, 15 landed in 11.0).
  • Adoption: the upstream "Powered by" list and demo site exist. Not published: no independent adoption or deployment-count figures (checked 2026-09-28).

Topic Map

  • How-to Guides: deploy, configure, secure, upgrade and troubleshoot SkyWalking 11.x with BanyanDB and Horizon UI.
  • Reference: release and compatibility matrices, ports, config keys, BanyanDB groups and TTLs, storage versions, language agents, benchmarks, hardening checklist.
  • Explanation: OAP pipeline, OAL/MAL/LAL/MQE, BanyanDB storage, Horizon UI split, Rover eBPF profiling, SWCK, OpenTelemetry integration, security model.

Sources

Source URL
Official website https://skywalking.apache.org/
Documentation index https://skywalking.apache.org/docs/
Downloads (release catalog) https://skywalking.apache.org/downloads/
OAP changelog https://skywalking.apache.org/docs/main/latest/en/changes/changes/
OAP repository https://github.com/apache/skywalking
Backend storage docs https://skywalking.apache.org/docs/main/latest/en/setup/backend/backend-storage/
Configuration vocabulary https://skywalking.apache.org/docs/main/latest/en/setup/backend/configuration-vocabulary/
BanyanDB docs https://skywalking.apache.org/docs/skywalking-banyandb/latest/readme/
BanyanDB repository and CHANGES https://github.com/apache/skywalking-banyandb
Horizon UI https://github.com/apache/skywalking-horizon-ui
Helm chart https://github.com/apache/skywalking-helm
SWCK operator https://github.com/apache/skywalking-swck
Rover (eBPF) https://github.com/apache/skywalking-rover
Java agent https://github.com/apache/skywalking-java
GraalVM Distro https://github.com/apache/skywalking-graalvm-distro
11.0.0 announcement http://www.mail-archive.com/dev@skywalking.apache.org/msg07943.html
GraalVM Distro benchmarks https://skywalking.apache.org/blog/2026-03-13-skywalking-graalvm-distro-design-and-benchmarks/
BanyanDB 0.6 benchmark https://skywalking.apache.org/blog/2024-06-04-banyandb-0.6-release/
Dev mailing list https://lists.apache.org/list.html?dev@skywalking.apache.org
GitHub Discussions https://github.com/apache/skywalking/discussions

Questions

Open Questions

  • What is published sizing guidance for BanyanDB at 100B+ data points? The upstream docs only give a small-cluster hint (2 liaison + 2 data nodes, 4 vCPU / 8 GB, for about 200 services). The BanyanDB docs also include single-model and hybrid benchmarks, which this page does not summarize.
  • When will BanyanDB reach 1.0 and loosen the exact OAP/BanyanDB API pinning? No public roadmap date (checked 2026-09-28).
  • How does throughput of Rover's eBPF network profiling compare with Coroot's node-agent? No published comparison (checked 2026-09-28).
  • How much do Horizon UI's AI assistant and MCP endpoint get used in practice, and what are the operational costs? Too new (1.0.0, 2026-08) to judge.

Answered Questions

  • Which storage backend should I use? BanyanDB 0.11.x for new OAP 11 installs (default, lowest resource use). Elasticsearch/OpenSearch if you already run it at scale. PostgreSQL/MySQL only for medium scale with low trace/log sampling. H2 is gone since 10.2.0 and ClickHouse is not a storage option. See How-to Guides.
  • Does BanyanDB replicate across datacenters? No. Groups have an in-cluster replicas setting, and upstream otherwise leans on durable block/object storage plus snapshot backups (to S3/GCS). Multi-region setups run independent clusters.
  • What does the GraalVM Distro cover? As of 0.4.0 it is the full OAP feature set compiled natively on JDK 25, with three limits: BanyanDB-only storage, a module set fixed at build time, and no runtime rule hot-update. Upstream measured ~5 ms startup and ~41 MiB idle RSS against ~635 ms / ~1.2 GiB for the JVM.
  • How do I migrate LAL slowSql {} rules after 10.4.0? Declare outputType: SlowSQL on the rule, assign id, statement and latency in extractor {}, and add an explicit sink {} block. See How-to Guides.
  • Does SkyWalking support OpenTelemetry? Yes. OTLP gRPC (11800) and, since 11.0.0, OTLP/HTTP (12800) for traces, metrics and logs. Native agents still give richer APM data.
  • How many threads does OAP use? About 72 in a 2-node JDK 25 cluster on 10.4.0, down from 150+ on 10.3.0, thanks to BatchQueue and virtual threads.
  • Can SkyWalking integrate with Grafana? Yes, through OAP's PromQL, LogQL and (optional) TraceQL/Tempo APIs, plus a Grafana topology plugin.
  • Is the old booster UI still usable with OAP 11? No. Its last image is apache/skywalking-ui:10.4.0; OAP 11 removed the APIs it depended on. Use Horizon UI.