Code and dataset for (ESEC/FSE' 23) From Point-wise to Group-wise: A Fast and Accurate Microservice Trace Anomaly Detection Approach.
We provide dataset B for evaluation.
- Download dataset_b.zip and put it under
dataset/
after unzipping it. - Install Python 3.8+ on your system.
- Run
pip3 install -r requirements.txt
to install the dependencies. - Run
python3 -m tracegnn.models.gtrace.main
to start training. The evaluation will automatically starts after training. - If you want to run on GPU, you can modify the
device
intracegnn/models/config.py
.
(To enable accuracy evaluation, the model runs the inference once for each trace and thus cannot be used for time efficiency evaluation. If you need to perform evaluation of time efficiency, please refer to the following section.)
We provide the code for the Anomaly Detection
module and Graph Building
module.
The code has not been tested on the Windows platform; please use a Mac or Linux system.
To evaluate the time efficiency, we provide a minimal example and a trained model that can be run directly on your local device without deployment:
- Run
cd deployment
. - Install
GCC 9.3.0+
,make
andCMake 3.2+
on your device. Runbash build.sh
to download and build the dependencies. - Run
sh run_local.sh
to evaluate the time efficiency. - Install
Intel SVML
to get better performance on Intel CPU. (See https://numba.readthedocs.io/en/stable/user/performance-tips.html#intel-svml). - When the the program is complete, it will enter a waiting state and will not exit automatically. Therefore, you need to manually kill it.
- Run
python3 -m tracegnn.visualization.webviewer_server
. - Visit
http://localhost:12312/0
orhttp://localhost:12312/1
to see the visualization results for two example cases.
- LRUCache11: https://github.com/mohaps/lrucache11.git
- Kubernetes: https://kubernetes.io/
- PyTorch: https://pytorch.org/
- DGL: https://dgl.ai/
- CMake: https://cmake.org/
- Dataset A is under review by the company and cannot be disclosed at this time.