BARO: Robust Root Cause Analysis for Microservices via Multivariate Bayesian Online Change Point Detection
Project description
🕵️ BARO: Root Cause Analysis for Microservices
BARO is an end-to-end anomaly detection and root cause analysis approach for microservices's failures. This repository includes artifacts for reuse and reproduction of experimental results presented in our FSE'24 paper titled "BARO: Robust Root Cause Analysis for Microservices via Multivariate Bayesian Online Change Point Detection".
Installation
Install from PyPI
pip install fse-baro
Or, build from source
git clone https://github.com/phamquiluan/baro.git && cd baro
pip install -e .
BARO has been tested on Linux and Windows, with different Python versions. More details are in INSTALL.md.
How-to-use
from baro.anomaly_detection import bocpd
from baro.root_cause_analysis import robust_scorer
anomalies = bocpd(data) # the data and its visualization are presented in the Google Colab above.
root_causes = robust_scorer(data, anomalies=anomalies)
print(root_causes)
Download Paper
TBD
Download Datasets
Our datasets are publicly available in Zenodo repository with the following information:
- Dataset DOI:
- Dataset URL: https://zenodo.org/records/11046533
Reproducibility
Check the Jupyter Notebook at tutorials/reproducibility.ipynb to reproduce the performance of BARO.
Citation
@inproceedings{pham2024baro,
title={BARO: Robust Root Cause Analysis for Microservices via Multivariate Bayesian Online Change Point Detection},
author={Luan Pham, Huong Ha, and Hongyu Zhang},
booktitle={Proceedings of the ACM on Software Engineering, Vol 1},
year={2024},
organization={ACM}
}
Contact
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.