A Comparative Overview of Seven Distributed Tracing Components: History, Selection, Experience, and Performance
This article reviews the evolution, technical choices, practical experiences, and performance characteristics of seven popular distributed tracing tools—including CAL, CAT, Dapper, Zipkin, Pinpoint, SkyWalking, and Jaeger—to help engineers select the most suitable solution for micro‑service observability.
Development History
eBay created CAL (Centralized Application Logging) in 2002 to monitor rapid traffic growth, and later the author helped develop CAT (Centralized Application Tracking) at Dianping in 2011, which was open‑sourced in Java and gained an active community.
Dapper and Its Successors
Google’s internal Dapper, described in a 2010 paper, inspired many open‑source projects: Twitter’s Zipkin (2012), Naver’s Pinpoint (2012), Uber’s Jaeger (2016, written in Go), and the Chinese Apache SkyWalking, which combines ideas from OneAPM and Pinpoint.
SkyWalking vs Pinpoint
UI Comparison
Both tools inject bytecode for non‑intrusive tracing, but Pinpoint’s UI is considered slightly superior; however, a custom UI based on Daocloud gives SkyWalking a modern look.
Community Support
SkyWalking and CAT are domestic projects with strong Chinese community backing, while Pinpoint’s community activity has waned.
Feature and Performance Comparison
Performance: Pinpoint collects very detailed data, leading to higher overhead, whereas SkyWalking adopts a conservative default strategy with minimal impact.
Component Support: SkyWalking covers more RPC frameworks, message queues, Redis clients, and logging libraries, while Pinpoint has a slight edge in web container and database support.
Alerting: SkyWalking uses flexible webhooks (SMS, email, WeChat), whereas Pinpoint relies on SMS/email and requires MySQL for storage.
Advantages: Pinpoint offers fine‑grained data and a powerful UI but requires heavy HBase infrastructure; SkyWalking benefits from an active community, multi‑language agents, low overhead, and easier extensibility.
Zipkin
Spring Cloud Sleuth can output trace data to the console, but Zipkin provides a graphical UI for collecting and visualizing timing data. Zipkin follows Dapper’s design and eliminates the need for Sleuth.
Reporting Limitations
Zipkin’s APM reporting capabilities are relatively weak, so projects with strong reporting needs may prefer other tracing solutions.
Conclusion
The article presents a comparison chart of several open‑source tracing components and invites readers to share their preferred tool.
References
http://www.passjava.cn https://spring.io/projects/spring-cloud-sleuth https://skywalking.apache.org/zh/2019-02-24-skywalking-pk-pinpoint https://juejin.cn/post/6844903560732213261 https://time.geekbang.org/column/article/441338 https://www.cnblogs.com/zhangs1986/p/8879744.html https://tech.meituan.com/2018/11/01/cat-in-depth-java-application-monitoring.html https://www.cnblogs.com/yyhh/p/6106472.html
Giveaway
The author offers six books (e.g., "201 Principles of Software Development") as a reward for active comments and shares.
Wukong Talks Architecture
Explaining distributed systems and architecture through stories. Author of the "JVM Performance Tuning in Practice" column, open-source author of "Spring Cloud in Practice PassJava", and independently developed a PMP practice quiz mini-program.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.