man.bsd.lv manual page server

Manual Page Search Parameters

EVTRANALYZE(1) General Commands Manual EVTRANALYZE(1)

evtranalyzeanalyze a trace stream

evtranalyze [-f infile] command [argument ...]

The evtranalyze utility is used to analyze an event trace stream. It takes a few global options, after which the user should specify a subcommand, followed by the subcommands options.

The global options are

path
Specifies the file containing the event stream.

The subcommands are:

Lists the individual events, one per line. The timestamps are relative to the previous event. The flags it accepts are:
fmt
Limits the displayed events to those matching fmt.
Prints out statistics about the specified variable. It needs at least two additional parameters. The first one specifies the expected variable type. The second specifies the variable name. Currently, the supported variable types are integer and completion. The first is for 'continuous' values and will be treated as a floating point value. The second is for events that appear in pairs of data constructors with matching arguments. For example, “BeginEvent 4 2” and “EndEvent 4 2”. If the variable takes values of completion type, then there must be two more arguments: one specifying the “opening” constructor and another specifying the “closing” constructor. So in our example those would be BeginEvent and EndEvent, in that order. The command will display appropriate statistics for the chosen value type (if the variable is assigned values of different types, those assignments will be ignored). The user can specify additional flags immediatelly after the expected variable type. Those are:
basename
Generates SVG plots of potentially interesting variable properties. For integer variables, it will plot the value of the variable versus time. For completion variables, it will generate a histogram of the time elapsed between matching Begin and End events. Currently, this will only work if the ploticus program is installed as /usr/local/bin/ploticus. The svg files will all start with basename. In addition, evtranalyze will leave behind the data files used to generate the plots (with the suffix .data replaced for .svg). These files can be used to create new plots with a program of the user's choosing.
Generates an svg file (by default output.svg) in the current directory, displaying the stream events. The flags it accepts are:
interval
Limits the displayed events to those occurring within the specified time interval. The interval is specified in the form [c|m]<num>:<num>. If interval starts with 'c', <num> is absolute (i.e. not relative to the start of the event stream) clock cycles (integral). If interval starts with 'm', <num> is a floating point number specifying milliseconds since the first event in the stream.
path
Specifies an alternate output file.
Displays summary information about the event stream.

Firstly, one can generate an event trace as described in ktrdump(8). Assume that our trace is in trace.evtr. Then

evtranalyze -f trace.evtr summary

will display summary information for the number of events encountered on each processor.

evtranalyze -f trace.evtr show

will display those events in chronological order, merging event traces from all system cpus.

evtranalyze -f trace.evtr stats integer varname

will display statistics about the integer variable varname, while

evtranalyze -f trace.evtr stats completion -p test varname Open Close

displays statistics for completion events (matching Open/Close constructors) on the variable varname and in addition generates appropriate plots in files named ‘test*.svg’.

ktrdump(8)

The evtranalyze utility first appeared in DragonFly 2.5.

The evtranalyze utility was implemented by Aggelos Economopoulos <aggelos@dragonflybsd.org> for DragonFly.

June 13, 2010 DragonFly-5.6.1