EVTRANALYZE(1) BSD General Commands Manual EVTRANALYZE(1)NAMEevtranalyze — analyze a trace stream
SYNOPSISevtranalyze [-f infile] command [argument ...]
DESCRIPTION
The evtranalyze utility is used to analyze an event trace stream. It
takes a few global options, after which the user should specify a subcom‐
mand, followed by the subcommands options.
Global options
The global options are
-f path
Specifies the file containing the event stream.
The subcommands are:
show
Lists the individual events, one per line. The timestamps are relative
to the previous event. The flags it accepts are:
-f fmt Limits the displayed events to those matching fmt.
stats
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:
-p basename
Generates SVG plots of potentially interesting variable prop‐
erties. For integer variables, it will plot the value of the
variable versus time. For completion variables, it will gen‐
erate a histogram of the time elapsed between matching Begin
and End events. Currently, this will only work if the ploti‐
cus program is installed as /usr/pkg/bin/pl. 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.
svg
Generates an svg file (by default output.svg) in the current directory,
displaying the stream events. The flags it accepts are:
-i 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 miliseconds since the
first event in the stream.
-o path Specifies an alternate output file.
summary
Displays summary information about the event stream.
EXAMPLES
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 construc‐
tors) on the variable varname and in addition generates appropriate plots
in files named ‘test*.svg’.
SEE ALSOktrdump(8)HISTORY
The evtranalyze utility first appeared in DragonFly 2.5.
AUTHORS
The evtranalyze utility was implemented by Aggelos Economopoulos
⟨aggelos@dragonflybsd.org⟩ for DragonFly.
BSD June 13, 2010 BSD