Apache SkyWalking¶
Apache Software Foundation APM and observability analysis platform for distributed systems, microservices, cloud-native, and service mesh environments.
Overview¶
Apache SkyWalking is a mature, enterprise-grade observability platform designed for distributed system, microservice, and cloud-native architectures. Governed by the Apache Software Foundation (ASF), it provides APM, distributed tracing, metrics, logging, event analysis, and topology visualization. Its architecture is highly pluggable, with BanyanDB as its native purpose-built observability database.
Repository & Community¶
| Attribute | Detail |
|---|---|
| Repository | github.com/apache/skywalking |
| Stars | ~24.8k ⭐ |
| Latest Version | APM 10.4.0 (April 1, 2026), BanyanDB 0.10.1 (April 6, 2026) |
| Language | Java (OAP Server), Go (Satellite, BanyanDB) |
| License | Apache 2.0 |
| Governance | Apache Software Foundation (ASF Top-Level Project) |
| Contributors | ~996 |
Evaluation¶
-
Why it's better: Full ASF governance (no single-vendor risk), exceptional multi-language agent support (Java, .NET, Go, Python, Node.js, PHP, Rust, C++), native service mesh integration (Istio/Envoy), purpose-built BanyanDB reduces resource usage 5x vs Elasticsearch, and pioneering GenAI observability features.
-
When it fits (Applicability):
- Java-heavy enterprise environments
- Service mesh deployments (Istio/Envoy) needing topology analysis
- Organizations requiring ASF governance and vendor-neutrality
- Large-scale distributed systems (100B+ telemetry data points)
-
Teams needing multi-language auto-instrumentation agents
-
Pros and Cons:
| Pros | Cons |
|---|---|
| ASF governance (no vendor lock-in) | Java ecosystem (JVM overhead for OAP) |
| Best-in-class Java agent | Steeper learning curve than SigNoz/Coroot |
| 10+ language agents | BanyanDB still maturing (v0.10) |
| BanyanDB: 5x less RAM than ES | Older UI compared to modern alternatives |
| Service mesh native (Istio/Envoy) | Complex multi-repo ecosystem |
| GraalVM native image support | Less OTel-native (proprietary agent format) |
| GenAI/LLM observability (v10.4) | Helm chart complexity |
| eBPF network profiling | Smaller cloud presence vs Grafana |
Architecture¶
flowchart TB
subgraph Probes["Probes & Agents"]
JA["Java Agent"]
NA[".NET / Go / Python<br/>Node.js / PHP Agents"]
SW_eBPF["eBPF Agent<br/>(Rover)"]
OTEL_P["OTel Collector"]
Envoy["Envoy ALS<br/>(Service Mesh)"]
end
subgraph OAP["OAP Server<br/>(Observability Analysis Platform)"]
direction TB
Recv["Receiver Layer<br/>(gRPC, REST, Kafka)"]
Core["Analysis Core<br/>(MAL, MQE, LAL)"]
Alert["Alerting Engine"]
Topo["Topology Analysis"]
end
subgraph StorageLayer["Storage (Pluggable)"]
BDB["BanyanDB<br/>(recommended)"]
ES["Elasticsearch<br/>/ OpenSearch"]
CH_SW["ClickHouse"]
PG["PostgreSQL"]
end
Probes --> OAP
OAP --> StorageLayer
OAP --> SWUI["SkyWalking UI"]
style BDB fill:#1b5e20,color:#fff
style OAP fill:#0d47a1,color:#fff
Key Components¶
| Component | Role |
|---|---|
| Language Agents | Auto-instrument Java, .NET, Go, Python, Node.js, PHP, Rust, C++ |
| OAP Server | Core analysis engine: ingestion, aggregation, topology, alerting |
| BanyanDB | Native observability database: 5x less RAM, 30% less disk vs ES |
| SkyWalking UI | Web dashboard: topology, trace waterfall, metrics, logs |
| Satellite (Go) | Sidecar/edge agent for proxy, rate limiting, load balancing |
| Rover (eBPF) | Kernel-level network profiling agent |
Sub-Projects & Versions (April 2026)¶
| Sub-Project | Version | Status |
|---|---|---|
| SkyWalking APM | 10.4.0 | Production |
| BanyanDB | 0.10.1 | Production-ready |
| Java Agent | 9.5.0 | Stable |
| GraalVM Distro | Experimental | ~41 MiB idle vs ~1.2 GiB JVM |
| Satellite | Latest | Production |
| Rover (eBPF) | Latest | Production |
Key Features¶
| Feature | Detail |
|---|---|
| Multi-Language APM | Auto-instrumentation for 10+ languages |
| Service Mesh | Native Istio/Envoy ALS topology analysis |
| BanyanDB | Purpose-built columnar + time-series DB |
| eBPF Profiling | Network profiling via Rover agent |
| GenAI Observability | LLM latency, TTFT, token usage, cost (v10.4) |
| Topology Analysis | Auto-discovered service dependency graphs |
| Alerting | Rule-based + ML-powered anomaly detection |
| GraalVM Native | Sub-ms startup, 30x less memory |
| 100B+ Scale | Proven at massive telemetry volumes |
Compatibility¶
| Dimension | Support |
|---|---|
| Probe protocols | Native SW, OpenTelemetry, Zipkin, Prometheus, Zabbix |
| Storage backends | BanyanDB (recommended), Elasticsearch, OpenSearch, ClickHouse, PostgreSQL, H2 |
| Service meshes | Istio, Envoy (ALS), Linkerd |
| Languages | Java, .NET, Go, Python, Node.js, PHP, Rust, C++, Lua |
| Platforms | Kubernetes (Helm/Operator), Docker, bare metal, GraalVM native |
| CPU architecture | amd64, arm64 |