Skip to content

SNIA/reanimator-library

Repository files navigation

strace2ds-library - a bridge between strace and DataSeries trace format

This library connects the strace code (written in C) to the DataSeries API (written in C++). It acts as a glue so that C++ functions are made callable from C code. Our fork of strace, reanimator-strace, takes advantage of this library to output traces in the DataSeries format.

Dependencies

Currently, only Ubuntu 16 and 18 are officially supported.

  • Lintel - general utility library for DataSeries
  • DataSeries - data format for structured serial data
  • tcmalloc - high-performance, multi-threaded malloc() implementation
  • libtool
  • libboost-dev (v1.58 only)
  • libboost-thread-dev (v1.58 only)
  • libboost-program-options-dev (v1.58 only)
  • build-essential
  • libxml2-dev
  • zlib1g-dev

Build Instructions

Install the following required programs and libraries. On Ubuntu 16 and 18, all the above requirements are available through the APT package manager.:

git cmake perl autoconf automake gcc g++ libtool libboost-dev libboost-thread-dev libboost-program-options-dev build-essential libxml2-dev zlib1g-dev

Automated Build

After installing the required programs and libraries, run build-reanimator-library.sh to automatically build strace2ds. All arguments are optional:

Argument Description
--install Install libraries and binaries under /usr/local
--install-dir DIR Install libraries and binaries to DIR (ignored if --install)
--config-args ARGS Append ARGS to every ./configure command
-h, --help Display a help message

Manual Build

Manually building strace2ds closely resembles the steps taken in build-reanimator-library.sh.

  1. Install Lintel by running cmake . && make && make install at the root of the Lintel repository.

  2. Install DataSeries by running cmake . && make && make install at the root of the DataSeries repository.

  3. Install tcmalloc from the gperftools repository. See the gperftools INSTALL file for detailed instructions.

  4. Navigate to the tables/ subdirectory and run perl gen-xml-enums.pl to update the .xml files.

  5. Create a subdirectory named build in the strace2ds-library directory and navigate to it. Run cp -r ../xml ./ to copy the xml folder into the build directory.

  6. cd into your build directory and run cmake -DCMAKE_INSTALL_PREFIX:PATH=<Install Here> ../. Specifying a custom install directory for make install via -DCMAKE_INSTALL_PREFIX:PATH=<Install Here> is optional.

  7. Run make and make install to build and install strace2ds.

About

Converting system call traces to dataseries

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •