Root Cause Discovery: RCA of Failures in Microservices Through Causal Discovery (github.com)

🤖 AI Summary
A new open-source tool, RCD (Root Cause Discovery), applies causal-discovery methods to locate root causes of failures in microservice systems. Hosted on GitHub (azamikram/rcd), the project implements a localized causal discovery variant that estimates top-k root causes (--local and --k options) and surfaces internal diagnostics (e.g., number of conditional independence tests performed while running PC). This makes causal tracing more actionable for SREs and ML practitioners by producing ranked, interpretable candidate causes rather than pure correlation-based alerts. Technically, RCD builds on and patches existing libraries (pyAgrum and causal-learn): it adds a localized skeleton discovery (local_skeleton_discovery in SkeletonDiscovery.py), tweaks FCI/utility modules and graph classes, and exposes internals for reporting. The repo includes scripts to synthesize data (gen_data.py), run experiments (rcd.py --path [DATA] --local --k 3), compare results (compare.py) and plot outputs (plot_exp.py). Installation requires Ubuntu 20.04, a Python venv, and a few symlinks to override installed packages with the modified modules. The approach promises more scalable, interpretable root-cause ranking for complex service graphs, but users should note the experimental nature (library patches and local modifications) when integrating into production observability stacks.
Loading comments...
loading comments...