This repo contains the source code for paper Adaptive Time Series Anomaly Detection for Online Services via System Failure Sketching (ICSE'22).
ADSketch (Anomaly Detection via Pattern Sketching) is an interpretable and adaptive performance anomaly detection algorithm for online service systems. Its core idea is to locate metric subsequences that significantly deviate from those shown in the history. ADSketch achieves interpretability by identifying groups of anomalous metric patterns, which represent particular types of performance issues. The underlying issues can then be immediately recognized if similar patterns emerge again. Figure 1 illustrates the algorithm. Moreover, an adaptive learning algorithm is designed to embrace unprecedented patterns.
pip install -r requirements.txt
)To use the model, unzip the data, change directory to this project code, execute the command:
python yahoo_demo.py
(for Yahoo dataset)python aiops18_demo.py
(for AIOps18 dataset)python industry_demo.py
(for Industry dataset)adsketch/motif_operations.py
contains the core functions of ADSketch./data
contains the datasets used in the paperparams.json
contains the parameter settings for different datasetsyahoo_demo.py
, aiops18_demo.py
, and industry_demo.py
are the scripts to run experiments with different datasets