IPC::Run3::ProfReporter(3pm)

IPC::Run3::ProfReporter3pm

Base class for handling profiling data

Overview

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).

Methods

"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()"

Limitations

Releases

12 releases since Debian 3.1 (Sarge); the text changed 8 times.

  1. 3.1
  2. 4.0–5.0
  3. 6.0
  4. 7
  5. 8–10
  6. 11
  7. 12
  8. 13
  9. Arch

License

You may use this module under the terms of the BSD, Artistic, or GPL licenses, any version.

Author

Barrie Slaymaker <[email protected]>

From perl-ipc-run3 0.049-4 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.