IPC::Run3::ProfReporter(3) User Contributed Perl Documentation IPC::Run3::ProfReporter(3)

# [NAME](#NAME)

IPC::Run3::ProfReporter - base class for handling profiling data

# [SYNOPSIS](#SYNOPSIS)

# [DESCRIPTION](#DESCRIPTION)

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](#METHODS)

"IPC::Run3::ProfReporter-&gt;new"

Returns a new profile reporting object.

"$reporter-&gt;handle\_app\_call( ... )"

"$reporter-&gt;handle\_app\_exit( ... )"

"$reporter-&gt;handle\_run\_exit( ... )"

These methods are called by the handled events (see below).

"$reporter-&gt;app\_call(\\@cmd, $time)"

"$reporter-&gt;app\_exit($time)"

"$reporter-&gt;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-&gt;get\_run\_count()"

"$reporter-&gt;get\_app\_call\_time()"

"$reporter-&gt;get\_app\_exit\_time()"

"$reporter-&gt;get\_app\_cmd()"

"$reporter-&gt;get\_app\_time()"

"$reporter-&gt;get\_app\_cumulative\_time()"

"$reporter-&gt;get\_run\_call\_time()"

"$reporter-&gt;get\_run\_exit\_time()"

"$reporter-&gt;get\_run\_time()"

"$reporter-&gt;get\_run\_cumulative\_time()"

"$reporter-&gt;get\_sys\_call\_time()"

"$reporter-&gt;get\_sys\_exit\_time()"

"$reporter-&gt;get\_sys\_time()"

"$reporter-&gt;get\_sys\_cumulative\_time()"

"$reporter-&gt;get\_run\_cmd()"

# [LIMITATIONS](#LIMITATIONS)

# [COPYRIGHT](#COPYRIGHT)

```
    Copyright 2003, R. Barrie Slaymaker, Jr., All Rights Reserved
```

# [LICENSE](#LICENSE)

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

# [AUTHOR](#AUTHOR)

Barrie Slaymaker &lt;barries@slaysys.com&gt;

2026-10-25 perl v5.44.0

---

Document: IPC::Run3::ProfReporter(3pm) from perl-ipc-run3 0.049-r11 (Chainguard OS)
Source: https://github.com/rjbs/IPC-Run3
