Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / IPC::Run3::ProfReporter.3pm
1 .\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.10)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings.  \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
21 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 .    ds -- \(*W-
28 .    ds PI pi
29 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
31 .    ds L" ""
32 .    ds R" ""
33 .    ds C` ""
34 .    ds C' ""
35 'br\}
36 .el\{\
37 .    ds -- \|\(em\|
38 .    ds PI \(*p
39 .    ds L" ``
40 .    ds R" ''
41 'br\}
42 .\"
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
44 .ie \n(.g .ds Aq \(aq
45 .el       .ds Aq '
46 .\"
47 .\" If the F register is turned on, we'll generate index entries on stderr for
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49 .\" entries marked with X<> in POD.  Of course, you'll have to process the
50 .\" output yourself in some meaningful fashion.
51 .ie \nF \{\
52 .    de IX
53 .    tm Index:\\$1\t\\n%\t"\\$2"
54 ..
55 .    nr % 0
56 .    rr F
57 .\}
58 .el \{\
59 .    de IX
60 ..
61 .\}
62 .\"
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
65 .    \" fudge factors for nroff and troff
66 .if n \{\
67 .    ds #H 0
68 .    ds #V .8m
69 .    ds #F .3m
70 .    ds #[ \f1
71 .    ds #] \fP
72 .\}
73 .if t \{\
74 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75 .    ds #V .6m
76 .    ds #F 0
77 .    ds #[ \&
78 .    ds #] \&
79 .\}
80 .    \" simple accents for nroff and troff
81 .if n \{\
82 .    ds ' \&
83 .    ds ` \&
84 .    ds ^ \&
85 .    ds , \&
86 .    ds ~ ~
87 .    ds /
88 .\}
89 .if t \{\
90 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96 .\}
97 .    \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 .    \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 .    \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
112 \{\
113 .    ds : e
114 .    ds 8 ss
115 .    ds o a
116 .    ds d- d\h'-1'\(ga
117 .    ds D- D\h'-1'\(hy
118 .    ds th \o'bp'
119 .    ds Th \o'LP'
120 .    ds ae ae
121 .    ds Ae AE
122 .\}
123 .rm #[ #] #H #V #F C
124 .\" ========================================================================
125 .\"
126 .IX Title "IPC::Run3::ProfReporter 3"
127 .TH IPC::Run3::ProfReporter 3 "2009-05-30" "perl v5.8.7" "User Contributed Perl Documentation"
128 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
130 .if n .ad l
131 .nh
132 .SH "NAME"
133 IPC::Run3::ProfReporter \- base class for handling profiling data
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 .SH "DESCRIPTION"
137 .IX Header "DESCRIPTION"
138 See IPC::Run3::ProfPP and for an example subclass.
139 .PP
140 This class just notes and accumulates times; subclasses use methods like
141 \&\*(L"handle_app_call\*(R", \*(L"handle_run_exit\*(R" and \*(L"handle_app_exit\*(R" to emit reports on
142 it.  The default methods for these handlers are noops.
143 .PP
144 If run from the command line, a reporter will be created and run on
145 each logfile given as a command line parameter or on run3.out if none
146 are given.
147 .PP
148 This allows reports to be run like:
149 .PP
150 .Vb 2
151 \&    perl \-MIPC::Run3::ProfPP \-e1
152 \&    perl \-MIPC::Run3::ProfPP \-e1 foo.out bar.out
153 .Ve
154 .PP
155 Use \*(L"\-\*(R" to read from \s-1STDIN\s0 (the log file format is meant to be moderately
156 greppable):
157 .PP
158 .Vb 1
159 \&    grep "^cvs " run3.out perl \-MIPC::Run3::ProfPP \-e1 \-
160 .Ve
161 .PP
162 Use \-\-app to show only application level statistics (ie don't emit
163 a report section for each command run).
164 .SH "METHODS"
165 .IX Header "METHODS"
166 .ie n .IP """IPC::Run3::ProfReporter\->new""" 4
167 .el .IP "\f(CWIPC::Run3::ProfReporter\->new\fR" 4
168 .IX Item "IPC::Run3::ProfReporter->new"
169 Returns a new profile reporting object.
170 .ie n .IP """$reporter\->handle_app_call( ... )""" 4
171 .el .IP "\f(CW$reporter\->handle_app_call( ... )\fR" 4
172 .IX Item "$reporter->handle_app_call( ... )"
173 .PD 0
174 .ie n .IP """$reporter\->handle_app_exit( ... )""" 4
175 .el .IP "\f(CW$reporter\->handle_app_exit( ... )\fR" 4
176 .IX Item "$reporter->handle_app_exit( ... )"
177 .ie n .IP """$reporter\->handle_run_exit( ... )""" 4
178 .el .IP "\f(CW$reporter\->handle_run_exit( ... )\fR" 4
179 .IX Item "$reporter->handle_run_exit( ... )"
180 .PD
181 These methods are called by the handled events (see below).
182 .ie n .IP """$reporter\->app_call(\e@cmd, $time)""" 4
183 .el .IP "\f(CW$reporter\->app_call(\e@cmd, $time)\fR" 4
184 .IX Item "$reporter->app_call(@cmd, $time)"
185 .PD 0
186 .ie n .IP """$reporter\->app_exit($time)""" 4
187 .el .IP "\f(CW$reporter\->app_exit($time)\fR" 4
188 .IX Item "$reporter->app_exit($time)"
189 .ie n .IP """$reporter\->run_exit(@times)""" 4
190 .el .IP "\f(CW$reporter\->run_exit(@times)\fR" 4
191 .IX Item "$reporter->run_exit(@times)"
192 .PD
193 .Vb 2
194 \&   $self\->app_call( $time );
195 \&   my $time = $self\->get_app_call_time;
196 .Ve
197 .Sp
198 Sets the time (in floating point seconds) when the application, \fIrun3()\fR,
199 or \fIsystem()\fR was called or exited.  If no time parameter is passed, uses
200 IPC::Run3's time routine.
201 .Sp
202 Use get_...() to retrieve these values (and _accum values, too).  This
203 is a separate method to speed the execution time of the setters just a
204 bit.
205 .ie n .IP """$reporter\->get_run_count()""" 4
206 .el .IP "\f(CW$reporter\->get_run_count()\fR" 4
207 .IX Item "$reporter->get_run_count()"
208 .PD 0
209 .ie n .IP """$reporter\->get_app_call_time()""" 4
210 .el .IP "\f(CW$reporter\->get_app_call_time()\fR" 4
211 .IX Item "$reporter->get_app_call_time()"
212 .ie n .IP """$reporter\->get_app_exit_time()""" 4
213 .el .IP "\f(CW$reporter\->get_app_exit_time()\fR" 4
214 .IX Item "$reporter->get_app_exit_time()"
215 .ie n .IP """$reporter\->get_app_cmd()""" 4
216 .el .IP "\f(CW$reporter\->get_app_cmd()\fR" 4
217 .IX Item "$reporter->get_app_cmd()"
218 .ie n .IP """$reporter\->get_app_time()""" 4
219 .el .IP "\f(CW$reporter\->get_app_time()\fR" 4
220 .IX Item "$reporter->get_app_time()"
221 .ie n .IP """$reporter\->get_app_cumulative_time()""" 4
222 .el .IP "\f(CW$reporter\->get_app_cumulative_time()\fR" 4
223 .IX Item "$reporter->get_app_cumulative_time()"
224 .ie n .IP """$reporter\->get_run_call_time()""" 4
225 .el .IP "\f(CW$reporter\->get_run_call_time()\fR" 4
226 .IX Item "$reporter->get_run_call_time()"
227 .ie n .IP """$reporter\->get_run_exit_time()""" 4
228 .el .IP "\f(CW$reporter\->get_run_exit_time()\fR" 4
229 .IX Item "$reporter->get_run_exit_time()"
230 .ie n .IP """$reporter\->get_run_time()""" 4
231 .el .IP "\f(CW$reporter\->get_run_time()\fR" 4
232 .IX Item "$reporter->get_run_time()"
233 .ie n .IP """$reporter\->get_run_cumulative_time()""" 4
234 .el .IP "\f(CW$reporter\->get_run_cumulative_time()\fR" 4
235 .IX Item "$reporter->get_run_cumulative_time()"
236 .ie n .IP """$reporter\->get_sys_call_time()""" 4
237 .el .IP "\f(CW$reporter\->get_sys_call_time()\fR" 4
238 .IX Item "$reporter->get_sys_call_time()"
239 .ie n .IP """$reporter\->get_sys_exit_time()""" 4
240 .el .IP "\f(CW$reporter\->get_sys_exit_time()\fR" 4
241 .IX Item "$reporter->get_sys_exit_time()"
242 .ie n .IP """$reporter\->get_sys_time()""" 4
243 .el .IP "\f(CW$reporter\->get_sys_time()\fR" 4
244 .IX Item "$reporter->get_sys_time()"
245 .ie n .IP """$reporter\->get_sys_cumulative_time()""" 4
246 .el .IP "\f(CW$reporter\->get_sys_cumulative_time()\fR" 4
247 .IX Item "$reporter->get_sys_cumulative_time()"
248 .ie n .IP """$reporter\->get_run_cmd()""" 4
249 .el .IP "\f(CW$reporter\->get_run_cmd()\fR" 4
250 .IX Item "$reporter->get_run_cmd()"
251 .PD
252 .SH "LIMITATIONS"
253 .IX Header "LIMITATIONS"
254 .SH "COPYRIGHT"
255 .IX Header "COPYRIGHT"
256 .Vb 1
257 \&    Copyright 2003, R. Barrie Slaymaker, Jr., All Rights Reserved
258 .Ve
259 .SH "LICENSE"
260 .IX Header "LICENSE"
261 You may use this module under the terms of the \s-1BSD\s0, Artistic, or \s-1GPL\s0 licenses,
262 any version.
263 .SH "AUTHOR"
264 .IX Header "AUTHOR"
265 Barrie Slaymaker <barries@slaysys.com>