Visit IO Tracer documentations for more detail.
curl -fsSL https://raw.githubusercontent.com/cacheMon/io-tracer-linux/main/install.sh | sudo bashThe installer clones the repo, installs BCC + the Python dependencies, and sets
up the iotrc command. Re-run it any time to update to the latest version.
- Clone the repo
git clone https://github.com/cacheMon/io-tracer-linux.git
cd io-tracer-linux- Install BCC
# Debian
echo deb [http://cloudfront.debian.net/debian](http://cloudfront.debian.net/debian) sid main >> /etc/apt/sources.list
sudo apt-get install -y bpfcc-tools libbpfcc libbpfcc-dev linux-headers-$(uname -r)
# Ubuntu
sudo apt-get install bpfcc-tools linux-headers-$(uname -r)
# Fedora
sudo dnf install bcc
# Arch
pacman -S bcc bcc-tools python-bccFor more distros, visit the official BCC's installation guide
- Finally, install the Python dependencies. The simplest way is to install
them all at once from
requirements.txt:
pip install -r requirements.txtOr, if you prefer your distro's package manager:
# Ubuntu / Debian
sudo apt install python3-psutil python3-requests python3-zstandard
# Fedora
sudo dnf install python3-psutil python3-requests python3-zstandard
# Arch
sudo pacman -S python-psutil python-requests python-zstandardzstandard is used to compress trace logs (.zst). If it is missing the
tracer still runs and falls back to gzip (.gz) using the Python standard
library, but installing zstandard is recommended for faster, smaller output.
To run the test suite you'll also need pytest (pip install pytest).
usage: sudo iotrc [-h] [-v] [-a] [--cache] [--network] [--computer-id] [--reward] [--no-upload] {dev} ...
Trace IO syscalls
options:
-h, --help show this help message and exit
-v, --verbose Print verbose output
-a, --anonimize Enable anonymization of process and file names
--computer-id Print this machine ID and exit
--reward Show your reward code (unlocked after uploading traces)
--no-upload Disable automatic upload of traces (for testing)
subcommands:
{dev} Run in developer mode with extra logs and checks
(supports --trace-bucket NAME to override the upload bucket)
Internal documentation on trace types and collection methods is available in docs/TRACE_TYPES.md.
We provided a simple bash script that installs and enable IO Traces as a service. Feel free to tinker with it and suit it to your best needs!
Usage: sudo bash ./scripts/install_service.sh {install|uninstall|status|start|stop|restart|logs}
Options:
install Install and enable the service
uninstall Stop and remove the service
status Show service status
start Start the service now
stop Stop the service
restart Restart the service
logs View live service logs
Run the uninstaller from your local repo:
sudo bash ~/io-tracer/uninstall.shThis will:
- Remove the
iotrcbinary from/usr/local/bin - Optionally delete the cloned repo at
~/io-tracer(you'll be prompted)