skywalking
APM, Application Performance Monitoring System
Apache SkyWalking is an open-source monitoring system that collects traces, metrics, and logs from distributed software systems to help engineering teams diagnose slowdowns and errors in production.
Apache SkyWalking is an open-source monitoring system designed to help engineering teams understand how their software applications are performing in production. Think of it like a health dashboard for complex, multi-service software systems — it watches everything happening inside your apps and surfaces problems before users notice them.
It works by collecting three types of data: traces (following a single request as it travels through multiple services), metrics (numbers like response time, error rate, and throughput), and logs (text records of what happened and when). SkyWalking stitches these together so you can see, for example, that a slow page load was caused by a database query in a specific microservice. It supports agents — small add-ons — for Java, Python, Node.js, Go, PHP, Rust, and several other languages, so it plugs into most existing tech stacks. It also uses eBPF, a modern Linux technology, to monitor Kubernetes (containerized application) deployments at a low level without requiring code changes. The system can handle over 100 billion data points from a single cluster and integrates with popular monitoring ecosystems like OpenTelemetry, Prometheus, and Zipkin.
Teams use SkyWalking when they run distributed systems — multiple services talking to each other — and need to diagnose slowdowns, errors, or unexpected behavior. It is especially common in cloud-native and container-based environments. The primary language is Java and it is an Apache Software Foundation project.
Where it fits
- Monitor a microservices system to find which service is causing slow page loads or high error rates.
- Track response times, throughput, and error rates across all backend services in a single dashboard.
- Debug a Kubernetes deployment without changing application code by using eBPF-based monitoring.
- Centralize traces and metrics from an existing Prometheus or Zipkin setup into one observability view.