Skip to content

Artifact for the paper "ClearCausal: Cross Layer Causal Analysis for Automatic Microservice Performance Debugging"

License

Notifications You must be signed in to change notification settings

NCSU-DANCE-Research-Group/ClearCausal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClearCausal

Welcome to the code artifact for the paper: ClearCausal: Cross Layer Causal Analysis for Automatic Microservice Performance Debugging which presents a new dependency-aware cross-layer causal analysis system that achieves fine-grained function-level root cause localization for microservice systems.

@inproceedings{tunde2024clearcausal,
title={ClearCausal: Cross Layer Causal Analysis for Automatic Microservice Performance Debugging},
author={Tunde-Onadele, Olufogorehan and Qin, Feiran and Gu, Xiaohui and Lin, Yuhang},
booktitle={2024 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS)},
year={2024},
organization={IEEE}
}

Getting Started

Run the paper demo

1. Prepare the Environment

1-1. Install Docker

Install Docker for your platform.

1-2. Build and Run the Docker Image

docker build -t clearcausal .
docker run -it clearcausal
poetry shell

1-3. Prepare the Dataset

Ensure you have enough space (~2GB).

Automated Download

chmod +x download_all_and_extract.sh
bash download_all_and_extract.sh

Manual Download

Download and unzip the dataset from Zenodo.

Example for B1.zip:

unzip B1.zip

After the unzip, the bug file folder contents (e.g data_B1_21/) should be in the ClearCausal root directory.

2. Modify the Run Script

The provided script runs experiments automatically: ./run_3_experiments_multi_outer.sh.

2-1. Choose Bug IDs

Edit the script to select the bugs whose data you have downloaded.

vim run_3_experiments_multi_outer.sh

On line 4, provide a space-separated list of bug IDs, e.g.:

bug_ids=("1" "2")

2-2. Choose Root Cause Analysis Mode

Select the analysis mode (True for function analysis, False for service analysis). On line 9, set the function_mode variable:

function_mode="False"

3. Run the Script

./run_3_experiments_multi_outer.sh

The script generates result folders for each bug, prefixed with res_avg_std. By default, the combined_correlation_results_wdependency file contains the ClearCausal results.

Additional Options

We provide more details in the wiki, including steps to customize the artifact for running alternative approaches or new data.

About

Artifact for the paper "ClearCausal: Cross Layer Causal Analysis for Automatic Microservice Performance Debugging"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages