org.bootchart.parser.linux
Class PacctParser

java.lang.Object
  extended by org.bootchart.parser.linux.PacctParser

public class PacctParser
extends Object

PacctParser parses the BSD process accounting v3 files. The accounting file contains information about process creation times, PIDs, PPIDs etc. It is used to get detailed information about process forks, filling in any dependency blanks caused by the polling nature of /proc/[PID]/top logging.


Constructor Summary
PacctParser()
           
 
Method Summary
static List getPPIDs(int pid, Map forkMap)
          Returns a list of all parent PIDs (parent, grandparent, etc.) for the specified PID.
static Map parseLog(InputStream is)
          Parses the pacct accounting file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PacctParser

public PacctParser()
Method Detail

parseLog

public static Map parseLog(InputStream is)
                    throws IOException
Parses the pacct accounting file. See include/linux/acct.h for format.

Parameters:
is - the input stream to parse
Returns:
a map of Integer to Integer forks
Throws:
IOException - if an I/O error occurs

getPPIDs

public static List getPPIDs(int pid,
                            Map forkMap)
Returns a list of all parent PIDs (parent, grandparent, etc.) for the specified PID.

Parameters:
pid - the PID to get the PPIDs for
forkMap - fork map
Returns:
a list of parent PIDs