Sun Identity Manager 8.1 发行说明

使用 Profiler

本节介绍了 Profiler 图形用户界面的功能以及如何使用这些功能。信息通过以下方式进行组织:

指定 Profiler 选项

“Profiler 选项”对话框由以下选项卡组成:

使用这些选项卡上的选项,可指明要对哪些对象进行性能分析,以及要显示在性能分析中的元素。

指定 Profiler 选项后,单击“确定”可启动 Profiler。根据项目配置,Profiler 将执行以下两项操作之一:


注 –

可以选择 "IdM" ->“设置 Identity Manager 实例”来控制用于该项目的 Identity Manager 实例操作。


模式

“模式”选项卡提供了以下选项:

IDM 对象过滤器

“IDM 对象过滤器”选项卡提供了以下选项:

Java 过滤器

选择“Java 过滤器”选项卡可以执行以下操作:

Java 过滤器以方法模式的形式提供,它们采用根据规范的方法名称执行包含或排除操作的模式来表示。其中,规范的方法名称为:

fully-qualified-class-name.method-name( parameter-type-1, parameter-type-2, ... )


注 –

对于构造函数,method-name<init>


下面列举了一些示例:


注 –

最后两个示例目前是等效的,因为这些过滤器仅会应用于自定义类和 Identity Manager 类。


如有必要,可以通过适当修改 build.xml 中的以下行来分析其他 JAR。例如,


<instrument todir="${lighthouse-dir-profiler}/WEB-INF" 
verbose="${instrumentor.verbose}" includeMethods="${profiler.includes}" 
excludeMethods="${profiler.excludes}">
           <fileset dir="${lighthouse-dir}/WEB-INF">
               <include name="lib/idm*.jar"/>
               <include name="classes/**/*.class"/>
           </fileset>
</instrument>

默认情况下,该配置包含所有自定义类和大多数 Identity Manager 类。强制排除了一些 Identity Manager 类,这是因为启用这些类会中断 Profiler 的运行。

例如,会排除工作流、表单和 XPRESS 引擎中的类,否则在分析 Java 和 Identity Manager 对象时,Profiler 将会生成难以理解的快照。

请注意,Java 过滤器将提供比 IDM 对象过滤器更细的过滤粒度。因此,使用 Java 分析会显著增加执行时间的开销,从而使性能分析结果出现巨大的偏差。由于是解释而非编译 Identity Manager 对象,因此分析开销可以忽略不计。因此,举例来说,根本没有理由排除工作流 A 而包含工作流 B,等等。


注 –

在运行 Profiler 时,不能修改 Java 过滤器。必须先停止 Profiler 才能更改 Java 过滤器。


其他

“其他”选项卡提供了以下选项:

使用 "IDM Profiler" 视图

IDM Profiler 视图由以下区域组成:

“当前项目”区域

“当前项目”区域包含一个下拉菜单,该菜单列出了所有的当前项目。使用此菜单可以选择要分析的项目。

控制区域

“控制”区域包含四个图标,如下表中所述:

图标 

名称 

用途 

显示“启动 Identity Manager Profiler”图标的图形

启动 Identity Manager Profiler 

启动 Profiler 并打开“Profiler 选项”对话框。 

显示“停止 Identity Manager Profiler”图标的图形

停止 Identity Manager Profiler 

停止 Profiler。 

显示“重置收集的结果”图标的图形

重置收集的结果 

重置截止到此刻您收集的所有分析结果。 

显示“修改性能分析”图标的图形

修改性能分析 

重新打开“Profiler 选项”对话框,以便您可以更改任何设置来修改当前的分析结果。 

“状态”区域

“状态”区域会报告您是否与主机进行了连接,并提供有关 Profiler 启动、运行和停止的状态信息。

“性能分析结果”区域

“性能分析结果”区域包含两个图标,如下表中所述:

图标 

名称 

用途 

显示“启动 Identity Manager Profiler”图标的图形

启动 Identity Manager Profiler 

启动 Profiler 并打开“Profiler 选项”对话框。 

显示“重置收集的结果”图标的图形

重置收集的结果 

重置截止到此刻您收集的所有分析结果。 

“已保存的快照”区域

“已保存的快照”区域提供了所有已保存快照的列表。


注 –

保存快照中提供了保存快照的说明。


此外,还可以使用以下按钮来管理这些快照:

使用“快照视图”

打开快照时,结果会显示在位于 Identity Manager IDE 右上方的“快照视图”窗口中。

快照提供了几种数据视图,将在以下各节中进行介绍:

“调用树”视图

“调用树”视图由一个树表组成,该树表显示了整个系统的调用计时和调用计数。

此树表包含三列:

“热点”视图

“热点”视图提供了节点的平面化列表,用于显示汇总调用计时(不考虑父节点)。

此视图包含以下列:

“反向跟踪”视图

“反向跟踪”视图提供了反向的调用栈,显示了从中调用每个节点的所有调用链。

可以使用这些统计信息来回答如下问题:如果我删除自此节点开始的特定调用链,将节省多少时间?

可以从其他任何快照视图中访问“反向跟踪”视图,方法是右键单击某个节点(称为根节点),然后从弹出式菜单中选择“显示反向跟踪”。


注 –

“时间”和“调用次数”数据值在“反向跟踪”视图中具有某些不同的含义:


“被调用者”视图

“被调用者”视图提供了节点(称为根节点)的汇总调用树(不考虑其父调用链)。

如果存在一个问题区域,并且整个主调用树中的许多位置都调用了该区域,当您想查看该节点的整体性能分析时,这些统计信息将非常有用。

可以从其他任何快照视图中访问“被调用者”视图,方法是右键单击某个节点(称为根节点),然后从弹出式菜单中选择“显示被调用者”。


注 –

“被调用者”视图中所用的时间和调用次数数据值与那些在“调用树”视图中使用的数据值具有相同的含义。


使用弹出式菜单选项

右键单击“调用树”视图或“热点”视图中的任意节点,将显示一个弹出式菜单,其中的选项如下表中所述:

菜单选项 

描述 

转至源 

选择此选项可以查看 Java 方法、工作流、表单、规则或 XPRESS 所对应节点的 XML 源。有关此视图的详细信息,请参见 Profiler 查找和管理源的方式

显示反向跟踪 

选择此选项可以访问“反向跟踪”视图。有关此视图的详细信息,请参见“反向跟踪”视图

显示被调用者 

选择此选项可以访问“被调用者”视图。有关此视图的详细信息,请参见“被调用者”视图

在“热点”视图中查找 

选择此选项可以在“热点”视图中查找节点。有关此视图的详细信息,请参见“热点”视图

“列表选项”->“排序”-> 

选择此选项可以看到以下选项 

  • 调用树

  • 时间

  • 调用次数

  • 升序

  • 降序

“列表选项”->“更改可视列” 

选择此选项可以更改在“调用树”或“热点”列表中显示的列。 

当显示“更改可视列”对话框时,您可以选择以下一个或多个选项: 

  • 调用树:调用树

  • 调用次数:调用次数

  • 时间:时间

搜索快照

使用位于“快照视图”窗口顶部的“搜索”图标显示“搜索”图标的图形 ,可以在“调用树”视图或“热点”树中按名称来搜索节点。

此外,还可以右键单击“调用树”视图或“热点”视图中的任意节点,然后从弹出式菜单中分别选择“在‘调用树’视图中查找”或“在‘热点’视图中查找”来搜索节点。

保存快照

Profiler 提供了几个选项来保存快照。有关这些选项的描述,请参见下表:

图标 

名称 

用途 

显示“启动 Identity Manager Profiler”图标的图形

“在项目中保存快照”图标(位于“快照视图”窗口的顶部) 

在项目的 nbproject/private/idm-profiler 目录中保存快照。Profiler 视图的“已保存的快照”部分会列出在项目中保存的快照。

显示“停止 Identity Manager Profiler”图标的图形

“在外部保存快照”图标(位于“快照视图”窗口的顶部) 

将快照保存到外部的任意位置。 

显示“重置收集的结果”图标的图形

“另存为”按钮(位于“已保存的快照”区域中) 

将快照保存到外部的任意位置。