Reading Reflection on the Dapper Paper
Introduction
Dapper is Google's distributed tracing system, which laid the foundation for subsequent open‑source implementations such as Zipkin and SkyWalking. Solving the problem of tracing in production environments requires not only a suitable data model but also careful consideration of low code invasiveness and performance impact after deployment, so that the system can be widely adopted and continuously monitored. Dapper's approach is:
- Use span as the basic data structure, modeling a trace as a tree with spans as nodes.
- Modify libraries and use instrumentation to achieve zero code intrusion.
- Employ various sampling techniques to improve performance.
- Build a comprehensive data collection and monitoring infrastructure.
This post explains these aspects in detail.