org.bootchart.parser.linux

Class ProcPsParser

public class ProcPsParser extends Object

ProcPsParser parses log files produced by logging the output of /proc/[PID]/stat files. The samples contain status information about processes (PID, command, state, PPID, user and system CPU times, etc.).
Method Summary
static intgetState(String state)
Returns the process state.
static PsStatsparseLog(InputStream is, Map pidNameMap, Map forkMap)
Parses the proc_ps.log file.

Method Detail

getState

public static int getState(String state)
Returns the process state. State can be one of:

Parameters: state process state string

Returns: process state

parseLog

public static PsStats parseLog(InputStream is, Map pidNameMap, Map forkMap)
Parses the proc_ps.log file. The output from /proc/[PID]stat is used to collect process information.

If pidNameMap is set, it is used to map PIDs to command names. This is useful when init scripts are sourced, and thus ps is unable to report the proper process name. A sysinit modification is necessary to generate the mapping log file.

forkMap is an optional map that provides detailed information about process forking.

Parameters: is the input stream to read from pidNameMap PID to name mapping map (optional) forkMap process forking map (optional)

Returns: process statistics

Throws: IOException if an I/O error occurs