以独立方式对应用程序进行概要分析
可以独立方式对应用程序进行概要分析(即,从命令行进行)而不必安装 Hyades 工具。但是,确实需要在要进行概要分析的应用程序驻留的机器上安装“代理控制器”。
通过调用“Java 概要分析代理程序”(它是一个库,它连接至“Java 虚拟机”(JVM)以捕获和记录 Java 应用程序的行为)来以独立方式对应用程序进行概要分析。代理程序的输出是以 XML 片段表示的。
使用 -Xrun Java 选项来调用“Java 概要分析代理程序”:
-XrunpiAgent:agent_parm[,agent_parm]*
例如,要使用在 myFilters.txt 文件中定义的过滤器并将概要分析会话中的数据引导至称为
PEProfilingData 的文件来对 PerformanceExample.java 进行概要分析,应在命令行上输入下列内容:
java
-XrunpiAgent:server=standalone,filters=myFilters.txt,file=PEProfilingData.trcxml
PerformanceExample
- 通过增大 -XrunpiAgent 参数,能够指定以几种不同的方式来运行概要分析代理程序。参数
agent_parm 可使用下列值之一:
- server=[standalone | enabled | controlled | application]
- standalone
- 概要分析代理程序以无头方式运行,这表示无法从工作台与它交互作用。配置信息是使用配置文件提供的,概要分析数据由概要分析代理程序直接存储在文件中。然后,可在以后将概要分析文件导入工作台中。
- 将“Java 概要分析代理程序”手工连接至 JVM 实例并将概要分析数据生成至输出文件。缺省输出文件称为
trace.trcxml,但您可以使用 file= filename 参数指定另一文件名。当选择了此选项时,“Java 概要分析代理程序”生成封装的 traceRoot 元素以组成完整且有效的 XML 文档。
- enabled(这是缺省值)。
- 概要分析代理程序在 JVM 的后台中运行且不占用资源,直到工作台连接至它并要求启动监视为止。于是,数据就流过“代理控制器”数据通道并由工作台使用。
即,装入“Java 概要分析代理程序”,允许应用程序正常运行,但不产生任何概要分析数据,直到客户机连接至代理程序来为它提供指令为止。当选择此选项时,“Java 概要分析代理程序”只生成 XML 片段而不是完整的 XML 文档。
- controlled
- 概要分析代理程序在初始化时预先清空 JVM(代理程序已装入但其阻止应用程序运行),直到从工作台连接至它并对它提供指令以开始由客户机监视为止。即,当概要分析代理程序以受控方式启动时,可能会挂起 JVM,直到被要求启动监视为止,并且将只生成 XML 片段而不是完整的 XML 文档。
- application
- 装入“Java 概要分析代理程序”,在后台运行,并允许应用程序以 enabled 方式正常运行。
- 仅当两个条件都满足时才生成概要分析数据。首先,应用程序必须已请求概要分析代理程序使用 org.eclipse.hyades.collection.profiler.Profiler 开始概要分析,其次,工作台的测试客户机必须已连接至“Java 概要分析代理程序”并已启动监视。
- 注意:所有概要分析都是由应用程序使用 org.eclipse.hyades.collection.profiler.Profiler 类控制的。
- filters=filename
仅当指定了 server=standalone 时使用。
指定包含概要分析会话期间要使用的初始类过滤器定义的文件的名称。缺省文件名是当前目录中的 filters.txt。有关文件格式的信息,请参阅下面的内容。
- file=filename
仅当指定了 server=standalone 时使用。
指定要将概要分析数据写至其中的文件的名称。缺省值是当前目录中的 trace.trcxml。
- help
将可用的代理程序选项列表显示到标准输出。
类过滤器文件的格式
文件的格式如下所示:
pattern mode
其中:
- pattern
- 没有任何嵌入空白的字符串。字符串的开头或结尾可以包含单个星号(*)。* 匹配零个或多个字符,这使得模式成为类属前缀或后缀模式。还可指定单个 * 以表示所有字符串。
- mode
- 指定在概要分析中是要包括还是排除与该模式相匹配的类。mode 的值为 INCLUDE 或 EXCLUDE。
过滤器模式是按照指定它们的顺序来处理的,直到第一个模式匹配成功为止。如果类名与指定的任何过滤器模式都不匹配,则缺省情况为包括(INCLUDE)该类。
Java 概要分析代理程序控制
当使用 server=enabled 或 server=controlled 参数启动“Java 概要分析代理程序”时,与代理程序进行的通信是使用客户机工作台并通过主机上的“代理控制器”来进行的。
注意事项
- 如果在命令行上未指定过滤器定义文件名,则“Java 概要分析代理程序”尝试从当前目录中称为 filters.txt 的文件中读取过滤器。如果文件 filters.txt
不存在,则在概要分析会话期间将不使用任何过滤器。如果您将过滤器文件 filters.txt 命名,并将它放在当前目录中,
则不需要在命令行上指定过滤器参数,概要分析代理程序就可以使用过滤器。
- 如果不为概要分析数据指定输出文件,则将它保存在文件 trace.trcxml 中。
- 不需要为输出文件指定扩展名。它会自动获得扩展名 .trcxml。
- 不需要为 Java 应用程序指定扩展名。它可以是 .class 文件。
相关概念
概要分析工具概述
概要分析资源
概要分析监视器视图
日志视图
相关任务
启动或连接 Java 进程
使用代理程序
打开多个概要分析和记录透视图
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.