ScriptsApr 15, 2026·3 min read

Apache SkyWalking — Distributed APM & Observability Platform

Apache-licensed APM platform unifying distributed tracing, metrics, logs, and eBPF profiling for microservices and service meshes.

TL;DR
SkyWalking unifies distributed tracing, metrics, logs, and eBPF profiling for microservices observability.
§01

What it is

Apache SkyWalking is an open-source Application Performance Monitoring (APM) platform that unifies distributed tracing, metrics collection, log aggregation, and eBPF-based profiling. It supports auto-instrumentation for Java, Python, Go, Node.js, and other languages. SkyWalking provides topology maps of service dependencies and deep drill-down into individual trace spans.

SkyWalking is designed for platform teams and SREs managing microservice architectures who need end-to-end observability without the cost of commercial APM tools.

§02

How it saves time or tokens

Commercial APM tools (Datadog, New Relic) charge per host or per GB of data. SkyWalking provides equivalent functionality as a self-hosted solution at zero licensing cost. Auto-instrumentation means you add observability to Java, Go, or Node.js services without changing application code. The unified platform replaces separate tools for tracing (Jaeger), metrics (Prometheus), and profiling (pprof) with a single integrated system.

§03

How to use

  1. Start SkyWalking OAP server and UI:
docker run --name skywalking-oap -d \
  -p 11800:11800 -p 12800:12800 \
  apache/skywalking-oap-server:latest

docker run --name skywalking-ui -d \
  -p 8080:8080 \
  -e SW_OAP_ADDRESS=http://skywalking-oap:12800 \
  apache/skywalking-ui:latest
  1. Instrument a Java application (zero code changes):
java -javaagent:skywalking-agent.jar \
  -Dskywalking.agent.service_name=my-service \
  -Dskywalking.collector.backend_service=localhost:11800 \
  -jar my-app.jar
  1. Open http://localhost:8080 to view traces, metrics, and service topology.
§04

Example

SkyWalking auto-detects service dependencies and generates topology maps:

                    ┌─────────┐
                    │ Gateway │
                    └────┬────┘
               ┌─────────┼─────────┐
         ┌─────┴────┐  ┌─┴────┐  ┌─┴──────┐
         │ User Svc │  │Order │  │Payment │
         └─────┬────┘  │ Svc  │  │  Svc   │
               │       └──┬───┘  └────┬───┘
         ┌─────┴────┐     │           │
         │  MySQL   │  ┌──┴───┐  ┌────┴───┐
         └──────────┘  │Redis │  │ Stripe │
                       └──────┘  └────────┘

Click any service or connection to drill down into traces, latency percentiles, and error rates.

§05

Related on TokRepo

§06

Common pitfalls

  • Not configuring storage for production. The default in-memory storage loses data on restart. Use Elasticsearch, BanyanDB, or PostgreSQL for persistent trace and metric storage.
  • Instrumenting too many services at once. Start with the most critical services, verify traces appear correctly, then expand instrumentation to other services.
  • Ignoring the sampling rate. In high-traffic systems, tracing every request generates massive data volumes. Configure sampling rates appropriate for your traffic volume.
  • Starting with an overly complex configuration instead of defaults. Begin with the minimal setup, verify it works, then customize incrementally. This approach catches configuration errors early and keeps troubleshooting straightforward.

Frequently Asked Questions

Which languages does SkyWalking support?+

SkyWalking provides auto-instrumentation agents for Java, Python, Go, Node.js, .NET, PHP, Rust, and C++. Java has the most mature agent with the widest framework coverage.

How does SkyWalking compare to Jaeger?+

Jaeger focuses on distributed tracing only. SkyWalking provides tracing plus metrics, logs, eBPF profiling, and service topology in a unified platform. SkyWalking replaces multiple separate tools with one integrated solution.

Does SkyWalking support Kubernetes?+

Yes. SkyWalking provides a Helm chart for Kubernetes deployment and integrates with Istio and Envoy for service mesh observability. It can monitor both application-level and infrastructure-level metrics.

What is eBPF profiling in SkyWalking?+

SkyWalking can profile application performance using eBPF (extended Berkeley Packet Filter) in the Linux kernel. This provides CPU profiling, network analysis, and system call tracing without modifying application code.

Is SkyWalking free?+

Yes. SkyWalking is an Apache Software Foundation top-level project, fully open source under the Apache 2.0 license. There is no commercial version or paid features.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets