以下命令控制显示函数信息的方式。
使用当前选定的度量写入函数列表。函数列表包括选定进行函数显示的装入对象中的所有函数,以及使用 object_select 命令隐藏其函数的任何装入对象。
输出的缺省度量是独占和非独占用户 CPU 时间,以秒和总程序度量百分比表示。可以使用 metrics 命令更改当前显示的度量,该命令必须在发出 functions 命令之前发出。也可以在 .er.rc 文件中使用 dmetrics 命令更改缺省值。
可以使用 limit 命令限制写入的行数(请参见控制输出的命令)。
对于用 Java 编程语言编写的应用程序,显示的函数信息因查看模式的设置而异,查看模式可设置为用户、专家或计算机。
用户模式按名称显示每个方法,将已解释的方法和 HotSpot 编译的方法的数据聚集在一起。它还禁止显示非用户 Java 线程的数据。
专家模式将 HotSpot 编译的方法与已解释的方法分开。它不禁止显示非用户 Java 线程。
计算机模式在进行解释时根据 Java 虚拟机 (Java Virtual Machine, JVM) 软件显示已解释的 Java 方法的数据,并对指定的方法报告使用 Java HotSpot 虚拟机编译的方法的数据。显示所有线程。
在所有三种模式下,对于 Java 目标调用的任何 C、C++ 或 Fortran 代码,都以通用的方法报告数据。
指定函数列表度量的选项。字符串 metric-spec 可以是恢复缺省度量选项的关键字 default,也可以是由冒号分隔的一系列度量关键字。以下示例说明一个度量列表。
% metrics i.user:i%user:e.user:e%user
此命令指示 er_print 实用程序显示以下度量:
用秒表示的非独占用户 CPU 时间
非独占用户 CPU 时间百分比
用秒表示的独占用户 CPU 时间
独占用户 CPU 时间百分比
缺省情况下,所用的度量设置基于从 .er.rc 文件处理的 dmetrics 命令,如在 .er.rc 文件中设置缺省值中所述。如果 metrics 命令将 metric-spec 显式设置为 default,则根据所记录的数据恢复缺省设置。
重置度量时,会在新列表中设置缺省排序度量。
如果省略 metric-spec,则显示当前的度量设置。
除了为函数列表设置度量外,metrics 命令还可以为调用方-被调用方、派生的数据输出和索引对象设置度量。调用方-被调用方度量显示以下归属度量:它们对应于显示非独占度量或独占度量的函数列表中的那些度量;同时还显示静态度量。
数据空间度量显示以下数据空间度量:这些度量有可用的数据并且对应于显示非独占度量或独占度量的函数列表中的那些度量;同时还显示静态度量。
索引对象度量显示以下索引对象度量:这些度量对应于显示非独占度量或独占度量的函数列表中的那些度量;同时还显示静态度量。
处理 metrics 命令时,将输出一条消息,指明当前的度量选项。对于前面的示例,消息如下。
current: i.user:i%user:e.user:e%user:name
有关度量列表的语法的信息,请参见度量列表。要查看可用度量的列表,请使用 metric_list 命令。
如果 metrics 命令出现错误,则将忽略该命令并发出警告,同时仍将使用以前的设置。
按 metric-spec 对函数列表进行排序。 度量名称中的 visibility 不影响排序顺序。如果在 metric-spec 中指定了多个度量,则使用第一个可见度量。如果指定的度量都不可见,则忽略该命令。可以在 metric-spec 前加上减号 (-) 以指定反向排序。
缺省情况下,度量排序设置基于从 .er.rc 文件处理的 dsort 命令,如在 .er.rc 文件中设置缺省值中所述。如果 sort 命令将 metric_spec 显式设置为 default,则使用缺省设置。
字符串 metric-spec 为度量列表中所述的度量关键字之一,如以下示例所示。
sort i.user
此命令指示 er_print 实用程序按非独占用户 CPU 时间对函数列表进行排序。如果度量不在已装入的实验中,则输出一条警告并忽略该命令。完成命令时,将输出排序度量。
为函数列表中的每个函数写入摘要面板。可以使用 limit 命令限制写入的面板数(请参见控制输出的命令)。
摘要度量面板包括函数或装入对象的名称、地址和大小。对于函数,它包括源文件、对象文件和装入对象的名称。该面板显示选定函数或装入对象的所有记录的度量,包括以值和百分比形式表示的独占和非独占度量。
为指定的函数写入摘要面板。当有多个函数具有相同的名称时,需要使用可选参数 N。为具有给定函数名称的第 N 个函数写入摘要度量面板。在命令行上提供命令时,N 是必需的;如果不需要它,则将其忽略。当以交互方式提供不带 N 的命令但又需要 N 时,则会输出具有对应 N 值的函数列表。
有关函数的摘要度量的说明,请参见对 fsummary 命令的描述。