@c ----------------------------------------------------------------------------
@c This is the Texinfo source file for the gprofng-display-gmon man page.
@c
@c Author: Claudiu Zissulescu
@c ----------------------------------------------------------------------------
@ifset man
\input texinfo @c -*-texinfo-*-
@setfilename gprofng-display-gmon
@settitle Convert a gmon profile data to a gprofng experiment.
@include gp-macros.texi
@end ifset

@c ----------------------------------------------------------------------------
@c This is from the man-pages(7) man page
@c
@c "The list below shows conventional or suggested sections.  Most manual pages
@c  should include at least the highlighted sections.  Arrange a new manual
@c  page so that sections are placed in the order shown in the list."
@c
@c              NAME
@c              SYNOPSIS
@c              CONFIGURATION    [Normally only in Section 4]
@c              DESCRIPTION
@c              OPTIONS          [Normally only in Sections 1, 8]
@c              EXIT STATUS      [Normally only in Sections 1, 8]
@c              RETURN VALUE     [Normally only in Sections 2, 3]
@c              ERRORS           [Typically only in Sections 2, 3]
@c              ENVIRONMENT
@c              FILES
@c              VERSIONS         [Normally only in Sections 2, 3]
@c              ATTRIBUTES       [Normally only in Sections 2, 3]
@c              CONFORMING TO
@c              NOTES
@c              BUGS
@c              EXAMPLES
@c              AUTHORS          [Discouraged]
@c              REPORTING BUGS   [Not used in man-pages]
@c              COPYRIGHT        [Not used in man-pages]
@c              SEE ALSO
@c
@c This is what the texi2pod.pl tool recognizes:
@c
@c for $sect (qw(NAME SYNOPSIS TARGET DESCRIPTION OPTIONS ENVIRONMENT FILES
@c               BUGS NOTES FOOTNOTES SEEALSO AUTHOR COPYRIGHT)) {
@c
@c What is interesting is that it places "SEE ALSO" before "COPYRIGHT", which
@c makes sense and adhered to for the other formats.
@c ----------------------------------------------------------------------------

@c ----------------------------------------------------------------------------
@c NAME section
@c ----------------------------------------------------------------------------

@ManPageStart{NAME}
@c man begin NAME

gprofng-display-gmon - Convert a given @file{gmon.out} file to gprofng
experiments.

@c man end
@ManPageEnd{}

@c ----------------------------------------------------------------------------
@c SYNOPSIS section
@c ----------------------------------------------------------------------------

@ManPageStart{SYNOPSIS}
@c man begin SYNOPSIS

@command{gprofng display gmon} [@var{option(s)}] [@var{target} [@var{gmon-file}]]

@c man end
@ManPageEnd{}

@c ----------------------------------------------------------------------------
@c DESCRIPTION section
@c ----------------------------------------------------------------------------

@ManPageStart{DESCRIPTION}
@c man begin DESCRIPTION

Reads the @file{gmon.out} file and the profiled executable.  With the
executable, we can reconstruct information about the profiled symbols
and the memory map layout.  The @file{gmon.out} file provides details
about the execution duration for each symbol, as well as data used to
build the call graph.  The profile data is taken from the call graph
profile file (@file{gmon.out} default) which is created by programs
that are compiled with profile arches (i.e., the @samp{-pg} option of
@code{cc}).

For example, this command converts the profile data (@file{gmon.out})
for an executable called @samp{a.out} and stores the data collected in
an experiment directory with the name @samp{example.er}.

@smallexample
$ gprofng display gmon -o example.er ./a.out gmon.out
@end smallexample

@c man end
@ManPageEnd{}

@c ----------------------------------------------------------------------------
@c OPTIONS section
@c ----------------------------------------------------------------------------

@ManPageStart{OPTIONS}
@c man begin OPTIONS

@table @gcctabopt

@item --version
@ifclear man
@IndexSubentry{Options, @code{--version}}
@end ifclear

Print the version number and exit.

@item --help
@ifclear man
@IndexSubentry{Options, @code{--help}}
@end ifclear

Print usage information and exit.

@item -o @var{<exp_name>}
@ifclear man
@IndexSubentry{Options, @code{-o}}
@end ifclear

Specify the name for the experiment directory.  The name has to end with
@samp{.er} and may contain an absolute path (e.g. @file{/tmp/experiment.er}).
An existing experiment with the same name will not be overwritten.

@item -O @var{<exp_name>}
@ifclear man
@IndexSubentry{Options, @code{-O}}
@end ifclear

This is the same as the @samp{-o} option, but unlike this option, silently
overwrites an existing experiment directory with the same name.

@end table

@c man end
@ManPageEnd{}

@c ----------------------------------------------------------------------------
@c NOTES section
@c ----------------------------------------------------------------------------

@ManPageStart{NOTES}
@c man begin NOTES

Any executable in the ELF (Executable and Linkable Format) object
format can be used for profiling with gprofng.  If @var{target} is
missing, the default executable name is @file{a.out}.  If
@var{gmon-file} is missing, the default profile data file name is
@file{gmon.out}.

@c man end
@ManPageEnd{}

@c ----------------------------------------------------------------------------
@c SEEALSO section
@c ----------------------------------------------------------------------------

@ManPageStart{SEE ALSO}
@c man begin SEEALSO

gprofng(1),
gprofng-archive(1),
@c -- gprofng-display-gui(1),
gprofng-display-html(1),
gprofng-display-src(1),
gprofng-display-text(1)

@iftex
@vspace{1}
@end iftex

The user guide for gprofng is maintained as a Texinfo manual.  If the
@command{info} and @command{gprofng} programs are correctly installed, the
command @command{info gprofng} should give access to this document.

@c man end
@ManPageEnd{}

@c ----------------------------------------------------------------------------
@c COPYRIGHT section
@c ----------------------------------------------------------------------------

@ManPageStart{COPYRIGHT}
@c man begin COPYRIGHT

Copyright @copyright{} 2025-2026 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled ``GNU Free Documentation License''.

@c man end
@ManPageEnd{}

@c ----------------------------------------------------------------------------
@c If this text is used for a man page, exit.  Otherwise we need to continue.
@c ----------------------------------------------------------------------------

@ifset man
@bye
@end ifset
