IPC::Run3::ProfReporter - base class for handling profiling data
See IPC::Run3::ProfPP and for an example subclass.
This class just notes and accumulates times; subclasses use methods like
``handle_app_call'', ``handle_run_exit'' and ``handle_app_exit'' to emit reports on
it. The default methods for these handlers are noops.
If run from the command line, a reporter will be created and run on
each logfile given as a command line parameter or on run3.out if none
are given.
This allows reports to be run like:
perl -MIPC::Run3::ProfPP -e1
perl -MIPC::Run3::ProfPP -e1 foo.out bar.out
Use ``-'' to read from STDIN (the log file format is meant to be moderately
greppable):
grep "^cvs " run3.out perl -MIPC::Run3::ProfPP -e1 -
Use --app to show only application level statistics (ie don't emit
a report section for each command run).
- IPC::Run3::ProfReporter->new
-
Returns a new profile reporting object.
- $reporter->handle_app_call( ... )
-
- $reporter->handle_app_exit( ... )
-
- $reporter->handle_run_exit( ... )
-
These methods are called by the handled events (see below).
- $reporter->app_call(\@cmd, $time)
-
- $reporter->app_exit($time)
-
- $reporter->run_exit(@times)
-
$self->app_call( $time );
my $time = $self->get_app_call_time;
Sets the time (in floating point seconds) when the application, run3(),
or system() was called or exited. If no time parameter is passed, uses
IPC::Run3's time routine.
Use get_...() to retrieve these values (and _accum values, too). This
is a separate method to speed the execution time of the setters just a
bit.
- $reporter->get_run_count()
-
- $reporter->get_app_call_time()
-
- $reporter->get_app_exit_time()
-
- $reporter->get_app_cmd()
-
- $reporter->get_app_time()
-
- $reporter->get_app_cumulative_time()
-
- $reporter->get_run_call_time()
-
- $reporter->get_run_exit_time()
-
- $reporter->get_run_time()
-
- $reporter->get_run_cumulative_time()
-
- $reporter->get_sys_call_time()
-
- $reporter->get_sys_exit_time()
-
- $reporter->get_sys_time()
-
- $reporter->get_sys_cumulative_time()
-
- $reporter->get_run_cmd()
-
Copyright 2003, R. Barrie Slaymaker, Jr., All Rights Reserved
You may use this module under the terms of the BSD, Artistic, or GPL licenses,
any version.
Barrie Slaymaker <barries@slaysys.com>
|