skywalking-java
Apache SkyWalking Java Agent is an open-source Java instrumentation agent that adds distributed tracing, metrics, and logging to Java applications without code changes. It integrates with the broader Apache SkyWalking APM platform to monitor microservices and cloud-native systems.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | apache/skywalking-java |
| Owner | apache |
| Primary language | Java |
| License | Apache-2.0 — OSI-approved |
| Stars | 918 |
| Forks | 689 |
| Open issues | 0 |
| Latest release | v9.6.0 (2026-02-16) |
| Last updated | 2026-07-07 |
| Source | https://github.com/apache/skywalking-java |
What skywalking-java is
A Java bytecode instrumentation agent (javaagent) that auto-instruments popular Java frameworks and libraries to emit traces, metrics, and logs to a central SkyWalking backend. Supports microservices architectures, containerized environments, and Kubernetes deployments via agentless or agent-based deployment models.
Get the skywalking-java source
Clone the repository and explore it locally.
git clone https://github.com/apache/skywalking-java.gitcd skywalking-java# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Agent deployment via JVM system property (-javaagent) requires JVM restart; plan rolling deployments to minimize downtime.
- SkyWalking backend server must be running and reachable; configure network connectivity and authentication (if required) before agent startup.
- Framework-specific instrumentation coverage varies; review supported libraries and versions to ensure compatibility with your stack.
- Agent overhead (CPU, memory, network I/O) scales with trace volume; monitor and tune sampling rates and batch configurations in high-throughput environments.
- Logs and metrics are additional payload; ensure backend storage capacity and network bandwidth support your retention and ingestion targets.
When to avoid it — and what to weigh
- Single-process Java Applications — If you only run standalone batch jobs or simple monoliths without distributed tracing requirements, APM overhead may outweigh visibility gains.
- Closed-Source or Vendor Lock-In Preference — SkyWalking requires a dedicated backend server; if you prefer a fully managed, proprietary APM solution, consider commercial alternatives.
- Minimal Operational Overhead Required — Running and scaling a SkyWalking backend server adds operational complexity; lightweight single-agent solutions may be simpler for small teams.
- Non-Java Language Requirement — This agent is Java-only; polyglot microservices need separate agents (Go, Python, Node.js) maintained by the broader SkyWalking project or third parties.
License & commercial use
Licensed under Apache License 2.0 (Apache-2.0), a permissive open-source license. Allows commercial use, modification, and distribution under the same license terms and with appropriate attribution.
Apache-2.0 permits commercial use without vendor permission; however, you must retain license notices and provide a copy of the license. No warranty or liability protection is implied. Review the full license text and any organizational compliance policies before deployment.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
Java agent runs with full JVM privileges and can inspect/modify bytecode; ensure agent JAR is verified (signed) and sourced from official Apache releases. Network communication to the backend should be secured (TLS/mTLS recommended) to prevent trace data interception. No public security advisories mentioned in the data; review CVE databases and Apache SkyWalking security page for any known vulnerabilities.
Alternatives to consider
Jaeger (Open Telemetry ecosystem)
Language-agnostic tracing platform; lighter instrumentation footprint and strong OpenTelemetry integration if you want flexibility across polyglot stacks.
Datadog APM
Fully managed, commercial APM with broad language support and minimal ops overhead; trade open-source control and cost for reduced operational burden.
New Relic APM
Enterprise-grade SaaS APM with strong Java support, automatic instrumentation, and no backend server to manage; suitable for teams prioritizing simplicity over cost.
Build on skywalking-java with DEV.co software developers
Download Apache SkyWalking Java Agent from the official releases page, configure your backend, and add -javaagent to your JVM startup flags. Review the official documentation for framework-specific setup and performance tuning.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
skywalking-java FAQ
Do I need to modify application code to use SkyWalking Java Agent?
What is the performance impact of running the agent?
Can SkyWalking trace calls across different services and languages?
Is SkyWalking suitable for production use?
Custom software development services
Need help beyond evaluating skywalking-java? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source observability integrations — and maintain them long-term.
Ready to instrument your Java microservices?
Download Apache SkyWalking Java Agent from the official releases page, configure your backend, and add -javaagent to your JVM startup flags. Review the official documentation for framework-specific setup and performance tuning.