Distributed tracing is essential for monitoring and debugging services deployed on top of microservice architectures. However, existing solutions face a fundamental trade-off between non-intrusiveness, language/protocol independence, overhead, and accuracy. We present ChainScope, a distributed tracing system that leverages eBPF to establish a universal tracing framework within the kernel. By implementing kernel-level context propagation, ChainScope enables trace-level sampling in a non-intrusive manner, effectively controlling overhead while maintaining high accuracy across diverse service processing models. Evaluation results show that ChainScope achieves better accuracy-overhead trade-offs than existing non-intrusive tracing approaches with up to 2.2× better accuracy, and 1.6× higher end-to-end service throughput in complex scenarios such as asynchronous processing and RPC (Remote Procedure Call) protocols. Furthermore, we demonstrate that ChainScope accurately identifies the root cause of long-tail latency in a realistic use case.
Hong et al. (Mon,) studied this question.