Askant - A Block I/O Analysis Tool
 ----------------------------------

0. Contents

  1. Intro
  2. Commands and their options
  3. Examples


1. Intro

Askant allows you to gather file system block I/O data for performance analysis.
It uses blktrace to trace block operations and adds file system specific data by
parsing fs block information straight from the storage device. To do this it
invokes functionality from file system parser plugins which traverse the on-disk
structures and report details of the blocks they encounter through callbacks.

Usage: askant <command> [options...]

o See 'askant --commands' for a full list of commands.


2. Commands and their options

  dumpfs

    Dumps the block data provided by an fs plugin from the given file system.

    -d  The block device which contains the file system under scrutiny
    -t  The type of the file system, i.e. the name of the fs plugin to load
    -o  Output file (optional). Stdout is used if '-' or omitted.
        (Note that the output file should be on a different device to the one
	specified with -d.)
  
  unlinks

    Does a dumpfs and runs blktrace until interrupted. It then blkparses the
    blktrace data and adds the block data. This is suitable for tracing I/O
    operations during an unlink test run.

    -d  The block device which contains the file system under scrutiny
    -t  The type of the file system, i.e. the name of the fs plugin to load
    -g  The path to the debugfs mount point, defaults to /sys/kernel/debug
    -D  The directory in which to store the block dumps and blktrace files.

  creates

    Runs blktrace until interrupted. It then does a dumpfs and blkparses the
    blktrace data and adds the block data. This is suitable for tracing I/O
    operations during a file creation test run.

    -d  The block device which contains the file system under scrutiny
    -t  The type of the file system, i.e. the name of the fs plugin to load
    -g  The path to the debugfs mount point, defaults to /sys/kernel/debug
    -D  The directory in which to store the block dumps and blktrace files.

3. Examples

o Parse the file system and dump information about each block to stdout e.g.:

    # askant dumpfs -t gfs2 -d /dev/sda3

o Trace 'unlinks' by dumping block information before the blktrace and matching
  block data to provide a more detailed blkparse output e.g.:

    # askant unlinks -t gfs2 -d /dev/sda3 -D /tmp/dir -g /mnt/debugfs

o Trace 'creates' by dumping block information after the blktrace and matching
  block data to provide a more detailed blkparse output e.g.:

    # askant creates -t gfs2 -d /dev/sda3 -D /tmp/dir -g /mnt/debugfs