HP PAK Performance Analysis Tools User's Guide

20 Chapter 2
Puma Concepts
How Puma Generates Procedure Names
How Puma Generates Procedure Names
In the Call Tree Analysis windows, you can direct Puma to display
performance metrics by procedure (routine). This section describes the
naming conventions that Puma uses when displaying procedure names.
When Puma can determine a procedure's name, it displays the name in
case-correct format. For example:
XOpenDisplay
For procedures in dynamically loaded libraries, Puma cannot identify the
procedure names unless you identify the library before data collection
begins (using the Options menu on the Data Collection window). The
default entry in the Libraries option is *.c. This entry causes Puma to
collect data from all dynamically loaded libraries, but, without the actual
library names, it does not load their symbol tables. Puma cannot,
therefore, determine the names of the procedures defined in the libraries.
In this situation, Puma displays the full pathname of the dynamically
loaded library rather than the procedure name. For example:
/usr/shlib/libc.sl
There are two conditions under which Puma is unable to determine the
name of the procedure associated with a call frame:
The procedure's name was omitted from the binary, as dictated by the
options used in compilation and linking.
The procedure has a nonstandard call frame format (for example, for
some assembly language procedures).
In this situation, Puma displays the virtual address of the procedure
rather than its name. For example:
va(xxxx)
where xxxx is the va (virtual address) of the procedure.