1.0 已知问题和局限性
1.1 通用日志适配器
1.1.1 使用 IBM 的 Java 运行时环境(JRE)V1.4.1 运行通用日志适配器规则时出现问题
1.2 数据收集引擎
1.2.1 在 DBCS 系统上对 Java 应用程序进行概要分析时控制台文本显示乱码
1.2.2 HP 11i 上的数据收集引擎文件副本不起作用
1.2.3 在 Solaris 上,数据收集引擎报告“找不到 sh: sysdef:”错误
1.2.4 在 Linux 上与 Sun JVM 一起运行的数据收集引擎进入无限循环
1.2.5 代理扩展在 iSeries 系统上不起作用
1.2.6 一台机器上只允许有一个数据收集引擎实例
1.3 日志和跟踪分析器
1.3.1 在概要分析时不能设置工作路径
1.3.2 代理程序和进程在关闭概要分析监视器时丢失
1.3.3 根据概要分析监视器中的选择,刷新视图可能无法工作
1.4 Probekit
1.4.1 *ProbeInstrumenter 程序从 JAR 文件除去整个 META-INF 目录
1.4.2 *ProbeInstrumenter 程序在插装某些类时抛出异常
1.5 概要分析工具
1.5.1 使用 IBM JDK 1.4.1 进行垃圾回收时出现问题
1.5.2 使用 Sun JVM 时未跟踪某些方法调用
1.5.3 在 Solaris 上使用 Sun JDK 1.4.x 进行概要分析可能导致 JVM 崩溃
1.5.4 在 Solaris 上以单机方式运行并且 STACK_INFORMATION 设置为 contiguous 时可能会崩溃
1.5.5 WAIT 和 WAITED 事件的超时值无效
1.5.6 IBM JDK 1.4.2 的监视器转储不正确
1.6 统计信息控制台
1.7 测试
1.7.1 常见测试问题
1.7.1.1 JUnit 测试、手工测试和 URL 测试在 iSeries 上不起作用
1.7.1.2 使用不同平台进行测试的自动部署和执行不起作用
1.7.1.3 借助手工部署执行远程测试
1.7.1.4 数据池访问
1.7.2 Hyades URL 测试
1.7.2.1 测试导航器中未显示 URL 响应时间和命中率报告
1.7.2.2 URL 测试记录器显示“IWAT3042E 记录因为空异常而中止”
1.7.2.3 将 URL 测试作为 JUnit 测试来执行
1.7.2.4 执行 URL 测试样本
1.7.2.5 URL 测试样本 readme.html 错误地引用了“组件测试”
2003 年发布的 IBM JDK 1.4.1 在基于规则的 Apache 访问日志解析器中可能会出现问题。
在运行 IBM 的 Java 运行时环境(JRE)V1.4.1 以使用通用日志适配器和/或使用基于规则的日志文件解析器在 Hyades 中导入日志文件时,需要服务发行版(SR2)及以上版本。
在 DBCS(如繁体中文、简体中文、日语和韩国语)系统上对 Eclipse 中的远程 Java 应用程序进行概要分析时,控制台输出将显示为乱码。所有平台上都会发生这一问题,但 Z/OS 和 iSeries 除外。
要解决此问题,在启动远程 Java 应用程序时添加 Java VM 自变量 -Dconsole.encoding=UTF8。这会确保在将控制台输出从远程位置传送回 Eclipse 工作台时正确编码。
因为文件服务器未启动,所以文件副本不起作用。这是因为在运行时未装入 JVM 库 libjvm.sl,从而导致文件服务器不运行。
要解决此问题,需要链接程序补丁版本 PHSS_30049 或更高版本。 补丁 30049 中的链接程序版本如下所示:
/bin/ld:
$Revision: 1.5 $
HP aC++ B3910B X.03.37.01 Classic Iostream Library
HP aC++ B3910B X.03.37.01 Language Support Library
ld_msgs.cat: $Revision: 1.5 $
92453-07 linker command s800.sgs ld PA64 B.11.38 REL 031217
检查版本号:what /bin/ld
列示安装的补丁:swlist -l fileset
搜索“ld”以获取累积 ld 的版本号和链接程序工具补丁。Hyades 数据收集引擎使用 sysdef 命令来获取系统上共享内存缓冲区的最大大小。如果数据收集引擎无法运行 sysdef,它将使用 <RAServer>/plugins/org.eclipse.hyades.datacollection/pluginconfig.xml 文件中指定的 dataChannelSize="30M"。将在启动 RAServer.exe 的控制台上报告以下错误:
找不到 sh: sysdef:要解决此问题,将包含 sysdef 的 /usr/sbin 目录添加至 PATH 变量。
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION" text="Service starting"/>要解决此问题,在启动数据收集引擎之前将 LD_LIBRARY_PATH 设置为指向所有 .so 文件。例如,在运行 RAServer 之前发出以下命令:
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.datacollection"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.logging.parsers"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.test"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Active configuration set to: default"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Loaded configuration: default"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Service started successfully"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Server stopping"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Internal server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="External server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Server stopping"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Internal server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="External server closed"/>
export
LD_LIBRARY_PATH=/opt/j2sdk1.4.2_04/jre/lib/i386/server:/opt/j2sdk1.4.2_04/jre/li
b/i386
代理程序扩展在 iSeries 系统上不起作用。
要解决此问题,在 iSeries 机器上启动数据收集引擎之前执行以下命令:
ADDLIBLE LIBNAME其中 LIBNAME 是包含代理程序扩展代码的库名。这将允许数据收集引擎查找并装入该库。
一台机器上只能安装一个数据收集引擎实例。这表示如果您已经将该引擎或者该引擎的扩展版本与另一产品安装在一起,必须卸载该实例以使新实例正常工作。例如,某些 IBM WebSphere Studio 或 IBM Rational 产品或者 developerWorks 中的 Autonomic Computing Toolkit 包括了名为代理控制器中的 Hyades 数据收集引擎的可选安装。
Bugzilla 缺陷:61754
目前没有办法在配置要进行概要分析的应用程序时设置任意工作路径。启动程序将无法正确处理
Java 应用程序类型的“自变量”选项卡中提供的工作目录字段并将其从工作台发送至数据收集引擎。对于外部 Java 应用程序类型,没有可用来指定工作路径的字段。
要解决此问题,请遵循下列步骤:
Bugzilla 缺陷:51161
如果“概要分析监视器”视图中显示的数据(如代理程序或进程)未保存,关闭视图时它们将会丢失。建议在关闭视图之前将所有内容保存在“概要分析监视器”中。
注意:打开新透视图然后切换回“概要分析和记录”透视图不会导致任何数据丢失。
Bugzilla 缺陷:71567
在概要分析监视器中禁用“使用查看器进行链接”选项后,仅当概要分析监视器中的当前选择与当前打开的视图相对应时,刷新视图操作(在同一工具栏中)才会起作用。
要解决此问题,执行下列其中一项:
如果 JAR 文件的 META-INF 目录包含 MANIFEST.MF 文件之外的文件,则遵循下列步骤以将这些文件保留在插装的 JAR 文件中:
jar xf yourfile.jar META-INF
jar uf yourfile.jar META-INF
注意:这已经在 V6.0.0.1 中进行了修正。
Bugzilla 缺陷:68435
在插装某些类时,Probekit 的“ProbeInstrumenter”程序将抛出异常,并显示以下错误消息:
ProbeKit 异常编号 4,来自位置 3
出现此异常的一个原因是方法的最后一个可访问指令后包含不可访问的字节代码。某些 Java 编译器会产生这种代码。
这一问题目前没有变通方法。
注意:这已经在 V6.0.0.1 中进行了修正。
如果用户的应用程序使用巨量堆空间,请求收集对象引用或运行 GC 可能导致 JVM 崩溃,并显示以下错误消息:
**内存不足,正在中止**
*** 应急启动:JVMCI023:无法分配内存以收集 jvmpi_heap_dump 中的堆转储
程序异常终止
如果运行时带有 -Xmx 参数,可尝试通过不带此参数运行来解决此问题。
Bugzilla 缺陷:69051
在 Windows 上使用 Sun JDK 时,JVMPI 将不会跟踪 Java 程序中的某些方法调用。
没有已知的变通方法。
Bugzilla 缺陷:56404
在 Solaris 上使用 Sun JDK 1.4.x 进行概要分析时可能导致 JVM 崩溃。这是由于 Sun JVM 中的一个错误造成的。
要解决此问题,使用下列概要分析集合中的一项:
如果同时使用这两种方式或者如果“显示实例级别”信息已打开,就会出现该问题。
Bugzilla 缺陷:50090
在 Solaris 上进行概要分析时,如果以单机方式进行概要分析,可能会遇到问题。仅当
STACK_INFORMATION 设置为 contiguous(或 boundaryAndContiguous)并且 TRACE_MODE
设置为 full 时,才会发生此问题。此问题可能导致 JVM 崩溃。
要在 STACK_INFORMATION 设置为 contiguous 的情况下解决此问题,将 TRACE_MODE 设置为 noObjectCorrelation。如果 STACK_INFORMATION 设置为 none 或者 STACK_INFORMATION 设置为 normal,则不会发生此问题。
Bugzilla 缺陷:63969
在 Hyades jvmpi 概要文件选项 MONITOR_MODE 设置为 all 的情况下使用 IBM 1.4.2 JDK 运行(以单机方式)时,可能会在跟踪 monitorWait 和 monitorWaited 元素时发现它们的超时属性无效。将它们强制类型转换为 64 位正整数后,它们实际上是极大的超时值。此错误是 JDK 错误造成的。
因为 JDK 错误,在 jvmpi 概要文件选项 MONITOR_MODE 设置为 all 的情况下以单机方式运行 Hyades 时,可能会产生错误的监视器转储。特别是对于错误 65193,使用“-Xj9”VM 自变量时会发生这种情况。
无
对在不同平台上运行的远程系统(Windows 至 Linux 或 Unix 及 Linux 或 Unix 至 Windows)进行的测试的自动部署/执行不起作用。有关如何远程执行测试的信息可在本文档的远程执行一节中找到。
Bugzilla 缺陷:68910
常用测试(URL、JUnit 或手工)是将工作台(Eclipse 用户界面)安装在基于 Windows
的机器上,然后在 Linux 或 Unix 系统上远程执行。目前自动部署在跨平台时不起作用。但是,仍然可以远程运行测试。
必须将表示要执行的测试的文件从创建该测试的系统传送至执行它的系统(最有可能使用 FTP)。数据收集器或 RAC 必须配置为指向已传送的测试内容。
编译测试的字节代码后,它将存储在创建该测试的 Java 项目的 bin 目录中。下面是一个示例:
[ECLIPSE_HOME]/workspace/project1/bin/test/URLTest.class
将以上文件打包以便在远程系统上执行的一个方法是创建 JAR 文件。下面的命令显示如何完成该任务。
"cd [ECLIPSE_HOME]/workspace/project1/bin"
"jar -cf test.jar test"
于是 test.jar 文件会被传送至远程机器的数据收集器目录结构。
接着,必须将 [RAC_HOME]/config/serviceconfig.xml 文件更改为指向 test.jar,如下所示。
<AgentControllerEnvironment configuration="default">
...
...
<Variable name="CLASSPATH" position="append" value="%RASERVER_HOME%/test/test.jar"/>
</AgentControllerEnvironment>
从工作台启动测试时,数据收集器将具有指向测试位置的类路径,并且将会执行该测试。
Bugzilla 缺陷:68911
描述从 Hyades 测试访问数据池的文档中缺少一个步骤,并且包含不能完全起作用的代码样本。
下列 JAR 需要添加至 Java 构建路径。
[ECLIPSE_HOME] 是 Eclipse 的安装目录。
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.models.common_3.0.0/common_model.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.test.datapool_3.0.0/datapool_api.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.0/runtime/ecore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.0/runtime/common.jar
以下代码段演示如何正确访问数据池并抽取信息。
IDatapoolFactory dpFactory = new Common_DatapoolFactoryImpl();
IDatapool datapool = dpFactory.load(new File("d:\\hyades3.0\\workspace\\testproj\\dpoo1.datapool"), false);
IDatapoolIterator iter = dpFactory.open(datapool, "org.eclipse.hyades.datapool.DatapoolIteratorSequentialPrivate");
iter.dpInitialize(datapool, -1);
while (!iter.dpDone())
{
String firstName = iter.dpCurrent().getCell("First Name").getStringValue();
// your code here
iter.dpNext();
}
Bugzilla 缺陷:68553
测试导航器中未显示 URL 响应时间和命中率报告。可通过在“资源”透视图中打开创建测试报告的项目来找到这些报告。
Bugzilla 缺陷:66199
如果在启动 Eclipse 时使用了“-Xj9”自变量,则在多次记录后“记录器控制”视图将显示“IWAT3042E
记录因为空异常而中止”。变通方法是关闭 Eclipse 然后重新打开它。
Hyades URL 测试可作为 JUnit 测试来执行。为此,必须将以下各条目添加至包含 URL 测试的项目的 Java 构建路径:
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.0.0/hlcore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.0.0/hlcbe101.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.0/runtime/ecore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.java14_3.0.0/hl14.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.0/runtime/common.jar
在创建 URL 测试样本后,不能立即执行该样本。必须配置两个构件,该测试样本才能成功运行。构件 1 的 CLASSPATH 变量应指向机器上该工作空间的位置:
[ECLIPSE_HOME]/eclipse/workspace/URL Test Sample/bin
位置 1 的 ROOTDIR 变量应指向表示工作空间的目录
[ECLIPSE_HOME]/workspace
URL 测试样本的缺省名称包含空格。这可能导致某些操作系统出现问题。样本的名称可在创建时更改。
Bugzilla 缺陷:68910
URL 测试样本 Web 页面引用了名为“组件测试”的联机帮助部分,但这一部分并不存在。该 Web 页面应引用联机帮助的“测试”部分。
返回到主自述文件