Tracer


DIO's tracer can either be installed manually or via Docker.

> From Docker Image


The tracer is available in Docker Hub. To use it, run the following commands.

  1. Pull DIO's tracer image from Docker Hub:
  2. $ docker pull taniaesteves/dio-tracer:v1.0.1
  3. Run DIO's tracer container:
  4. $ docker run -it --rm --name dio --pid=host --privileged --cap-add=ALL --net=host -v /lib/modules:/lib/modules -v /usr/src:/usr/src -v /sys/kernel/debug/:/sys/kernel/debug/ taniaesteves/dio-tracer:v1.0.1 <TARGET_COMMAND>

> From source code


  1. Install the following dependencies:
    • GO (v.1.17.4)
    • BCC (#1313fd6a5)

    The following commands can be used to install these dependencies:

    $ bash scripts/install_dio_dependencies.sh (go|bcc|all)

  2. Build dio-tracer binary:
  3. $ bash scripts/build.sh go
  4. Run DIO's tracer:
  5. $ sudo bin/dio-tracer [options] -- <TARGET_COMMAND>
    Example
    $ sudo bin/dio-tracer --config config.yaml -- ls

Options


  • To change DIO's configuration file, mount a volume for the /usr/share/dio/conf/config.yaml file.
    Example: -v <path_to_local_config_file>:/usr/share/dio/conf/config.yaml.
  • To export DIO Tracer's files (e.g., tracer logs and statistics), mount a volume for the /dio_data folder.
    Example: -v /tmp/dio_data:/dio_data
  • To run DIO's correlation path algorithm along with DIO's tracer use the following options:
    • -e CORRELATE_PATHS=true
    • -e ES_SERVERS=<DIO_ES_URL>:<DIO_ES_PORT>

More information available at dio-tracer.