Augury Project Data and Source Code

This website provides the data and the source code used to generate the results presented in the paper: Augury: Temporal Failure Prediction by Correlating Forecasts of Multiple Metrics.


1. Source code
  • ARIMA models: here is the code to train ARIMA(p,d,q) models. This is a Perl script that calls the R tool several times (using multiple values of p,d,q values), and selects the best model using AIC.  Please follow the README file for directions of how to run it.

  • Online detection code: here is the C++ code that implements Augury's online algorithms. It loads ARIMA models and a hyper-sphere from files (along with other files and environment variables) when it begins. Measurement vectors are passed as a separate Linux process via pipes. Follow the README file in /testing to compile and to run it.

  • Matlab code: before our code is implemented in C++, we prototype our algorithms in Matlab. Here is the script that we use to run Augury's algorithms. This script does not include ARIMA forecasting.


2. Train and Test Data

  • ITaP's Stations-Stat data: here we provide the data of the campus application (used to check the availability of workstations) which is used for evaluation in the paper. The tar.gz file contains the raw data file of the measurements observed during two months from Jun 7 – Aug 19 in 2010. We also provide the metric names and times for service restarts and the alerts received from Nagios (the monitoring system).

  • RUBiS fault-injection:

    • The data collected as a result of the faults injected in RUBiS are here. (to be uploaded soon)

  • Android OS bugs:

    • Failure data of the Android emulator bugs presented in the paper are here. (to be uploaded soon)

Contacts

For questions regarding how building and runing the code, and/or how to understand the data, please contact:

Ignacio Laguna <ilaguna@purdue.edu>

Nawanol Theera-Ampornpunt <ntheeraa@purdue.edu>


Last updated (Nov-9-2011)