TraceDiag: Adaptive, Interpretable, and Efficient Root Cause Analysis on Large-Scale Microservice Systems
- Ruomeng Ding ,
- Chaoyun Zhang ,
- Lu Wang ,
- Yong Xu ,
- Ming-Jie Ma ,
- Xiaomin Wu ,
- Meng Zhang ,
- Qingjun Chen ,
- Xin Gao ,
- Xue‐Chao Gao ,
- Hao Fan ,
- S. Rajmohan ,
- Qingwei Lin 林庆维 ,
- Dongmei Zhang
FSE'23 Industry |
Root Cause Analysis (RCA) is becoming increasingly crucial for ensuring the reliability of microservice systems. However, performing RCA on modern microservice systems can be challenging due to their large scale, as they usually comprise hundreds of components, leading significant human effort. This paper proposes TraceDiag, an end-to-end RCA framework that addresses the challenges for large-scale microservice systems. It leverages reinforcement learning to learn a pruning policy for the service dependency graph to automatically eliminates redundant components, thereby significantly improving the RCA efficiency. The learned pruning policy is interpretable and fully adaptive to new RCA instances. With the pruned graph, a causal-based method can be executed with high accuracy and efficiency. The proposed TraceDiag framework is evaluated on real data traces collected from the Microsoft Exchange system, and demonstrates superior performance compared to state-of-the-art RCA approaches. Notably, TraceDiag has been integrated as a critical component in the Microsoft M365 Exchange, resulting in a significant improvement in the system’s reliability and a considerable reduction in the human effort required for RCA.