第三十九章 使用^%SYS.MONLBL检查例程性能 - 开始监控
开始监控
可以选择要监控的例程和流程以及要收集的指标。集合的这些特征会一直保留到停止监控为止。按以下顺序向例程提供监视收集信息:
- 例程名称 – 输入要监控的例程名称列表。只能选择可从当前命名空间访问的例程。输入例程名称时不要使用前导
^;名称区分大小写。可以使用星号 (*) 通配符来选择多个例程。输入最后一个例程名称后按Enter两次以结束列表。 Select Metrics to monitor– 输入选择的指标类型的数量。最小指标的默认值为1。
Select Metrics to monitor
1) Monitor Minimal Metrics
2) Monitor Lines (Coverage)
3) Monitor Global Metrics
4) Monitor All Metrics
5) Customize Monitor Metrics
Enter the number of your choice: <1>
每个选项包含哪些指标的说明如下:
- 最小指标 - 监控下表中描述的指标。
| Metric - | Description |
|---|---|
| Metric#: 34 - RtnLine | 例程行执行次数 |
| Metric#: 51 - Time | 执行该行所花费的时钟时间 |
| Metric#: 52 - TotalTime | 该行的总时钟时间,包括该行调用的子例程所花费的时间 |
时间度量是时钟时间,以秒为单位进行测量。
注意:递归代码的总时间当一个例程包含递归代码时,回调到同一子例程的那一行的TotalTime计数器只记录最外层调用的时间,在大多数情况下,这应该是运行递归循环的实际时间。之前的IRIS版本积累了相同代码多次迭代的时间,报告时间可能看起来太大了。
Line- 监视一个例程行执行的次数(Metric#: 34 - RtnLine)。Global metr- 监控几个全局指标(Metric# 1-26,34-36,51,52)。All metrics- 监视所有可用指标。Customize metrics— 允许创建要监视的指标的自定义列表。可以选择%Monitor支持的任何标准性能指标。系统包类。当被提示输入度量项目编号时,输入一个问号(?)以查看可用度量的列表。例如:
Enter the number of your choice: <1> 5
Enter metrics item number (press 'Enter' to terminate, ? for list)
Metric#: ?
1.) GloRef: global refs
2.) GloSet: global sets
.
.
.
34.) RtnLine: lines of ObjectScript
.
.
.
51.) Time: elapsed time on wall clock
52.) TotalTime: total time used (including sub-routines)
Metric#:
这个例子没有显示完整的列表;最好在运行例程时检索当前列表。有关检索列表的方法,请参阅逐行监视器编程接口部分。
注意:对于所有收集,总是收集例程行数和时间(最小度量)。
- 选择要监视的进程——输入菜单中显示的选择的数字。所有进程的默认值是1。
Select Processes to monitor
1.) Monitor All Processes
2.) Monitor Current Process Only
3.) Enter list of PIDs
Enter the number of your choice: <1>
^%SYS.MONLBL 当前不提供列表或选择 PID 的方法;但是,可以使用 ^%SS 实用程序或管理门户的进程页面(系统操作 > 进程)来查找特定的进程 ID 号。
Enter the number of your choice: <1> 3
Enter PID (press 'Enter' to terminate)
PID: 1640
PID: 2452
PID:
输入最后一个进程 ID 后按两次 Enter 结束列表。
一旦提供了必要的信息,^%SYS.MONLBL 就会为每个例程的每一行的计数器分配一个特殊的共享内存部分,并通知选定的进程监视已激活。
注意:由于共享计数器可能会被多个进程同时更新和/或正在运行的进程可能不会在同一时刻开始计数,因此计数器的精度可能会略有下降,从而导致计数低于预期。
Monitor started.
Press RETURN to continue ...
启动逐行监视器后,例程会显示一个更广泛的菜单。逐行监控选项部分描述了此扩展菜单上的每个选项。