1 @c ----------------------------------------------------------------------------
2 @c This is the Texinfo source file for the gprofng man page.
4 @c Author: Ruud van der Pas
5 @c ----------------------------------------------------------------------------
7 \input texinfo @c -*-texinfo-*-
9 @settitle The next generation GNU application profiling tool
10 @include gp-macros.texi
13 @c @ManPageStart{NAME}
14 @c @ManPageStart{SYNOPSIS}
15 @c @ManPageStart{DESCRIPTION}
16 @c @ManPageStart{OPTIONS}
17 @c @ManPageStart{NOTES}
18 @c @ManPageStart{SEEALSO}
19 @c @ManPageStart{COPYRIGHT}
21 @c ----------------------------------------------------------------------------
22 @c This is from the man-pages(7) man page
24 @c "The list below shows conventional or suggested sections. Most manual pages
25 @c should include at least the highlighted sections. Arrange a new manual
26 @c page so that sections are placed in the order shown in the list."
30 @c CONFIGURATION [Normally only in Section 4]
32 @c OPTIONS [Normally only in Sections 1, 8]
33 @c EXIT STATUS [Normally only in Sections 1, 8]
34 @c RETURN VALUE [Normally only in Sections 2, 3]
35 @c ERRORS [Typically only in Sections 2, 3]
38 @c VERSIONS [Normally only in Sections 2, 3]
39 @c ATTRIBUTES [Normally only in Sections 2, 3]
44 @c AUTHORS [Discouraged]
45 @c REPORTING BUGS [Not used in man-pages]
46 @c COPYRIGHT [Not used in man-pages]
49 @c This is what the texi2pod.pl tool recognizes:
51 @c for $sect (qw(NAME SYNOPSIS TARGET DESCRIPTION OPTIONS ENVIRONMENT FILES
52 @c BUGS NOTES FOOTNOTES SEEALSO AUTHOR COPYRIGHT)) {
54 @c What is interesting is that it places "SEE ALSO" before "COPYRIGHT", which
55 @c makes sense and adhered to for the other formats.
56 @c ----------------------------------------------------------------------------
58 @c ----------------------------------------------------------------------------
60 @c ----------------------------------------------------------------------------
65 gprofng - The driver for the gprofng application profiling tool
70 @c ----------------------------------------------------------------------------
72 @c ----------------------------------------------------------------------------
74 @ManPageStart{SYNOPSIS}
77 @command{gprofng} [@var{option(s)}] @var{action} [@var{qualifier}]
78 [@var{option(s)}] @var{target} [@var{options}]
83 @c ----------------------------------------------------------------------------
84 @c DESCRIPTION section
85 @c ----------------------------------------------------------------------------
87 @ManPageStart{DESCRIPTION}
88 @c man begin DESCRIPTION
90 This is the driver for the gprofng tools suite to gather and analyze
93 The driver executes the @var{action} specified. An example of an action is
94 @samp{collect} to collect performance data. Depending on the action, a
95 @var{qualifier} may be needed to further define the command.
96 The last item is the @var{target} that the command applies to.
98 There are three places where options are supported. The driver supports
99 options. These can be found below. The @var{action}, possibly in combination
100 with the @var{qualifier} also supports options. A description of these can be
101 found in the man page for the command. Any options needed to execute the
102 target command should follow the target name.
104 For example, to collect performance data for an application called
105 @command{a.out} and store the results in experiment directory @samp{mydata.er},
106 the following command may be used:
109 $ gprofng collect app -o mydata.er a.out -t 2
112 In this example, the action is @samp{collect}, the qualifier is @samp{app},
113 the single argument to the command is @code{-o mydata.er} and the target is
114 @command{a.out}. The target command is invoked with the @samp{-t 2} option.
116 If gprofng is executed without any additional option, action, or target, a
117 usage overview is printed.
122 @c ----------------------------------------------------------------------------
124 @c ----------------------------------------------------------------------------
126 @ManPageStart{OPTIONS}
131 @item @var{--version}
133 @IndexSubentry{Options, @code{--version}}
135 Print the version number and exit.
139 @IndexSubentry{Options, @code{--help}}
141 Print usage information and exit.
148 @c ----------------------------------------------------------------------------
149 @c ENVIRONMENT SECTION
150 @c ----------------------------------------------------------------------------
152 @ManPageStart{ENVIRONMENT}
153 @c man begin ENVIRONMENT
155 The following environment variables are supported:
159 @item @env{GPROFNG_MAX_CALL_STACK_DEPTH}
162 @cindex Environment variables
165 Set the depth of the call stack (default is 256).
167 @item @env{GPROFNG_USE_JAVA_OPTIONS}
170 @cindex Environment variables
173 May be set when profiling a C/C++ application that uses dlopen() to execute
176 @c -- deferred @item @env{GPROFNG_SSH_REMOTE_DISPLAY}
177 @c -- deferred Use this variable to define the ssh command executed by the
178 @c -- remote display tool.
180 @c -- deferred @item @env{GPROFNG_SKIP_VALIDATION}
181 @c -- deferred Set this variable to disable checking hardware, system, and
184 @item @env{GPROFNG_ALLOW_CORE_DUMP}
187 @cindex Environment variables
190 Set this variable to allow a core file to be generated; otherwise an error
191 report is created on @samp{/tmp}.
193 @item @env{GPROFNG_ARCHIVE}
196 @cindex Environment variables
199 Use this variable to define the settings for automatic archiving upon
200 experiment recording completion.
202 @item @env{GPROFNG_ARCHIVE_COMMON_DIR}
205 @cindex Environment variables
208 Set this variable to the location of the common archive.
210 @item @env{GPROFNG_JAVA_MAX_CALL_STACK_DEPTH}
213 @cindex Environment variables
216 Set the depth of the Java call stack; the default is 256; set to 0 to disable
217 capturing of call stacks.
219 @item @env{GPROFNG_JAVA_NATIVE_MAX_CALL_STACK_DEPTH}
222 @cindex Environment variables
225 Set the depth of the Java native call stack; the default is 256; set to 0 to
226 disable capturing of call stacks (JNI and assembly call stacks are not
229 @item @env{GPROFNG_SYSCONFDIR}
232 @cindex Environment variables
235 Set the path to the @file{gprofng.rc} configuration file. By default, this
236 file is placed in the @file{etc} subdirectory of the binutils installation
237 directory. In case an RPM has been used for the installation, this file is
238 in directory @file{/etc}.
240 When building and installing from the source, the user can set the path
241 to this configuration file to a non-default location. If this is the case,
242 the user may set the @code{GPROFNG_SYSCONFDIR} environment variable to point
245 Otherwise, the @command{gprofng display text}, @command{gprofng display src},
246 and @command{gprofng archive} tools cannot find this file.
253 @c ----------------------------------------------------------------------------
255 @c ----------------------------------------------------------------------------
260 The gprofng driver supports the following commands.
266 @c The man pages for the commands below can be viewed using the command name
267 @c with the spaces replaced by a dash ("-"). For example
268 @c the man page name for "gprofng collect app" is "gprofng-collect-app".
270 @i{Collect performance data:}
274 @item gprofng collect app
275 Collect application performance data.
279 @i{Display the performance results:}
283 @item gprofng display text
284 Display the performance data in ASCII format.
286 @item gprofng display html
287 Generate an HTML file from one or more experiments.
289 @item gprofng display gui
290 Start the GUI. Note that this tool is not available by default and needs to
291 be installed seperately.
295 @i{Miscellaneous commands:}
299 @item gprofng display src
300 Display source or disassembly with compiler annotations.
302 @item gprofng archive
303 Include binaries and source code in an experiment directory.
307 It is also possible to invoke the lower level commands directly, but since
308 these are subject to change, in particular the options, we recommend to
311 The @emph{gprofng GUI} is an optional tool that provides a graphical interface
312 for @code{gprofng}. It is easy to use and supports many views into the
313 performance data. For those interested in this GUI, we
314 recommend to search for @code{gprofng-gui} how to obtain, install and use it.
319 @c ----------------------------------------------------------------------------
321 @c ----------------------------------------------------------------------------
323 @ManPageStart{SEE ALSO}
327 gprofng-collect-app(1),
328 @c -- gprofng-display-gui(1),
329 gprofng-display-html(1),
330 gprofng-display-src(1),
331 gprofng-display-text(1)
337 Each gprofng command also supports the @option{--help} option. This lists the
338 options and a short description for each option.
340 For example this displays the options supported on the
341 @command{gprofng collect app} command:
344 $ gprofng collect app --help
347 The user guide for gprofng is maintained as a Texinfo manual. If the
348 @command{info} and @command{gprofng} programs are correctly installed, the
349 command @command{info gprofng} should give access to this document.
354 @c ----------------------------------------------------------------------------
356 @c ----------------------------------------------------------------------------
358 @ManPageStart{COPYRIGHT}
359 @c man begin COPYRIGHT
361 Copyright @copyright{} 2022-2024 Free Software Foundation, Inc.
363 Permission is granted to copy, distribute and/or modify this document
364 under the terms of the GNU Free Documentation License, Version 1.3
365 or any later version published by the Free Software Foundation;
366 with no Invariant Sections, with no Front-Cover Texts, and with no
367 Back-Cover Texts. A copy of the license is included in the
368 section entitled ``GNU Free Documentation License''.
373 @c ----------------------------------------------------------------------------
374 @c If this text is used for a man page, exit. Otherwise we need to continue.
375 @c ----------------------------------------------------------------------------