Class ProcessTree

java.lang.Object
org.bootchart.common.ProcessTree

public class ProcessTree extends Object
ProcessTree encapsulates a process tree. The tree is built from log files retrieved during the boot process. When building the process tree, it is pruned and merged in order to be able to visualize it in a comprehensible manner.

The following pruning techniques are used:

  • idle processes that keep running during the last process sample (which is a heuristic for a background processes) are removed,
  • short-lived processes (i.e. processes that only live for the duration of two samples or less) are removed,
  • the processes used by the boot logger are removed,
  • expoders (i.e. processes that are known to spawn huge meaningless process subtrees) have their subtrees merged together,
  • siblings (i.e. processes with the same command line living concurrently -- thread heuristic) are merged together,
  • process runs (unary trees with processes sharing the command line) are merged together.
  • Field Details

    • startTime

      public Date startTime
      The start time of the graph
    • endTime

      public Date endTime
    • duration

      public long duration
      The duration of the process tree (measured from the start time of the first process to the end time of the last process). This is also the total boot time.
    • samplePeriod

      public int samplePeriod
      Statistics sampling period.
    • numProc

      public int numProc
      The number of all processes in the tree.
    • processTree

      public List processTree
      The Process tree.
  • Constructor Details

    • ProcessTree

      public ProcessTree(PsStats psStats, String monitoredApp, boolean prune)
      Creates a new process tree from the specified list of Process instances.
      Parameters:
      psStats - process statistics
      monitoredApp - monitored application (or null if the boot process is monitored)
      prune - whether to prune the tree by removing sleepy and short-living processes and merging threads
  • Method Details