org.bootchart.parser.linux

Class PsParser

public class PsParser extends Object

PsParser parses log files produced by ps.
Method Summary
static intgetState(Map procInfo)
Returns the process state.
static PsStatsparseLog(InputStream is, Map pidNameMap, Map forkMap)
Parses the ps.log file.

Method Detail

getState

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

Parameters: procInfo process info map

Returns: process state

parseLog

public static PsStats parseLog(InputStream is, Map pidNameMap, Map forkMap)
Parses the ps.log file. Consecutive ps samples are parsed and returned in a list. The ps samples are only parsed up to the point where one of the specified exitProcesses is running and the system is idle.

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: ps statistics and a list of processes

Throws: IOException if an I/O error occurs