Test and Performance Platform V3.3.0 - 发行说明


1.0 已知问题与局限性
1.1 通用日志适配器
1.1.1 使用 IBM 的 Java 运行时环境(JRE)V1.4.1 运行通用日志适配器规则时发生问题
1.1.2 从远程 z/OS 系统导入日志文件可能会导致数据不完整
1.1.3 连续不断地解析带有页脚的日志文件会导致丢失记录
1.1.4 在 GLA 配置编辑器的“问题”视图中,某些错误消息是重复的
1.1.5 通用日志适配器不支持创建用于解析多种时间戳记格式的规则
1.1.6 当在“通用日志适配器”透视图中运行新的 GLA 适配器文件时,在“问题”视图中报告了格式化程序错误
1.1.7 HTTP Server 访问日志规则解析器无法正确地解析某些记录
1.2 代理控制器
1.2.1 在 DBCS 系统上对 Java 应用程序进行概要分析时控制台文本显示乱码
1.2.2 代理控制器文件副本在 HP 11i 上不起作用
1.2.3 在 Solaris 上,代理控制器报告“sh: sysdef: not found”错误
1.2.4 在 Linux 上与 Sun JVM 一起运行的代理控制器进入无限循环
1.2.5 不允许在一台机器上安装多个代理控制器实例
1.2.6 当在远程服务器上找不到文件时,文件传输引擎不报告 FileNotFoundException
1.2.7 在 iSeries 上以受保护方式运行代理控制器
1.2.8 同时监视多个代理程序时未收集任何数据
1.2.9 关闭代理控制器时发生分段违例
1.2.10 在对应用程序进行概要分析时发生“内存不足”错误
1.2.11 代理程序收集的数据未被发送到客户机
1.2.12 终止正在带有多个代理程序的进程中运行的代理程序不成功
1.2.13 在 EBCDIC 平台上,请求对等监视不起作用
1.3 日志和跟踪分析器
1.3.1 本地主机不支持连续不断地执行日志监视
1.3.2 记录示例自述文件未打开
1.3.3 当未正确地启动代理控制器时,使用了过滤器的远程日志导入不起作用
1.3.4 在代理控制器未启动的情况下,远程日志导入过程保持处于“活动”状态
1.3.5 导入某些 HTTP Server 访问日志可能会导致“字符串索引超出范围”错误
1.3.6 导入 DBCS 系统上的 Microsoft Windows 系统事件日志时,某些事件包含不可读的数据
1.3.7 导入空日志时发生 NullPointerException
1.3.8 导入 Windows 应用程序事件日志时生成了公共基本事件格式化错误
1.3.9 当指定了无效的日志文件名时,从远程 HP-UX 系统导入日志的操作挂起
1.4 Probekit
1.5 概要分析工具
1.5.1 使用 IBM JDK 1.4.1 时,垃圾回收出现问题
1.5.2 使用 Sun JVM 时,某些方法调用不会被跟踪
1.5.3 在安装了 Sun JDK 1.4.x 的 Solaris 上进行概要分析可能导致 JVM 崩溃
1.5.4 在 Solaris 上以单机方式运行并且 STACK_INFORMATION 设置为 contiguous 时可能会崩溃
1.5.5 WAIT 和 WAITED 事件的无效超时值
1.5.6 使用 IBM JDK 1.4.2 时,监视器转储不正确
1.5.7 使用 JIT 直接插入功能时,方法计数不正确
1.5.8 AIX 和 Solaris 上的方法级别 CPU 时间统计信息局限性
1.5.9 在 Linux 上,对现有概要文件进行概要分析时将失败
1.5.10 导入无头概要分析生成的概要文件
1.5.11 异常关闭工作台后显示了重复的过滤器视图
1.5.12 释放内存操作可能静默地失败
1.5.13 当选择了“执行历史记录”>“全部图形详细信息”但是未进行编辑时,会发送不正确的代理程序选项
1.5.14 在进行包级别过滤的情况下导入概要文件将显示空视图
1.5.15 概要分析方式显示的数据超出预期
1.6 统计信息控制台
1.7 测试
1.7.1 常见测试问题
1.7.1.1 JUnit 测试、手工测试和 URL 测试在 iSeries 上不起作用
1.7.1.2 数据池访问
1.7.2 URL 测试
1.7.2.1 将 URL 测试作为 JUnit 测试来执行
1.7.2.2 执行 URL 测试样本
 

1.0 已知问题与局限性

1.1 通用日志适配器

1.1.1 使用 IBM 的 Java 运行时环境(JRE)V1.4.1 运行通用日志适配器规则时出现问题

2003 年发布的 IBM JDK 1.4.1 在基于规则的 Apache 访问日志解析器中可能会引起问题。

当运行 IBM 的 Java 运行时环境(JRE)V1.4.1 以使用通用日志适配器和/或使用基于规则的日志文件解析器导入日志文件时,需要 Service Release(SR2)及以上版本。

1.1.2 从远程 z/OS 系统导入日志文件可能会导致数据不完整

Bugzilla 缺陷:80730

使用“日志和跟踪分析器”从远程 z/OS 系统导入日志文件可能会导致“日志视图”中显示的数据不完整。导入操作可能会过早停止,因此“日志视图”未显示所有日志记录。当 z/OS 系统上安装了下列其中一个 IBM JDK 版本时,就会发生此问题:

在带有 PTF UK00802 的 IBM JDK 1.4.2 中已解决此问题。请将 JDK 升级到该版本或更新版本。如果您无法升级 JDK 版本,为了解决问题,请在 z/OS 系统上通过执行下列步骤来更改代理控制器的配置:

  1. 编辑代理控制器安装目录中的 plugins/org.eclipse.hyades.logging.parsers/config/pluginconfig.xml 文件。
  2. 在 RemoteLogParserLoader Application 元素的 java.version 参数后面添加一个新参数。例如:
    <Parameter position="prepend" value="-Djava.version=1.4"/>
    <Parameter position="prepend" value="-Djava.compiler=NONE"/>
    <Parameter position="append" value="&quot;config_path=%GLA_CONFIG_PATH%&quot;"/>
  3. 重新启动代理控制器。
  4. 再次导入日志文件。

1.1.3 连续不断地解析带有页脚的日志文件会导致丢失记录

Bugzilla 缺陷:97974

连续不断地解析包含页脚节的日志文件有时会导致解析输出缺少记录。确切地说,当对日志文件追加新记录时,追加的记录中的第一个记录不会被解析,并且不会包括在解析输出中。当在适配器配置文件中将上下文实例配置为 continuousOperation="true" 并且日志文件包含页脚节时,就会发生此问题。要解决此问题,请通过将上下文实例配置为 continuousOperation="false" 来解析一次日志文件。

1.1.4 在 GLA 配置编辑器的“问题”视图中,某些错误消息是重复的。

Bugzilla 缺陷:101184

在 GLA 配置编辑器的“问题”视图中,某些错误消息显示多次。在通过单击重新运行适配器...按钮执行适配器配置文件之前,“问题”视图并未始终清除现有消息。修改并保存文件将清除“问题”视图并显示任何适配器配置验证错误。

1.1.5 通用日志适配器不支持创建用于解析多种时间戳记格式的规则

通用日志适配器不支持使用单个基于规则的适配器配置文件来解析包含语言环境敏感时间戳记格式的日志文件。如果应用程序生成的日志文件中包含的时间戳记格式依赖于生成该日志文件的语言环境,则无法使用单个基于规则的适配器来解析这些日志。例如,如果在 en_US 系统上生成的日志文件中的日期格式是 MM/dd/yy,在 ja_JP 系统上生成的日志文件中的日期格式是 yy/MM/dd,在 de_DE 系统上生成的日志文件中的日期格式是 dd.MM.yy,则需要不同的适配器配置文件来解析每个日志文件,并且每个配置文件包含的解析规则都具有对语言环境正确的时间戳记格式。

1.1.6 当在“通用日志适配器”透视图中运行新的 GLA 适配器文件时,在“问题”视图中报告了格式化程序错误

当尝试通过单击重新运行适配器...按钮执行新的 GLA 适配器文件时,“通用日志适配器”透视图中的“问题”视图将返回以下错误:

IWAT0438E 由于缺少必需属性 sourceComponentId,所以公共基本事件格式化程序 N76D20B0042411D98000E0362B33D6F0 无法创建公共基本事件。

此消息指示:由于 sourceComponentId 是公共基本事件的必需属性,但是却缺少了此属性,所以 GLA 的格式化程序组件无法创建公共基本事件。要解决此问题,请在适配器文件中添加用于 sourceComponentId 属性的解析器规则。注意,situation 属性也是必需的公共基本事件属性。要解决类似的错误,请在适配器文件中添加用于 situation 属性的解析器规则。GLA 只能创建包含所有必需属性的公共基本事件。

1.1.7 HTTP Server 访问日志规则解析器无法正确地解析某些记录

Bugzilla 缺陷:101545

HTTP Server 访问日志规则解析器无法正确地解析下列记录:

9.26.5.6 - - [09/Feb/2005:17:07:53 -0500] "VERSION" 501 -
9.26.5.6 - - [09/Feb/2005:17:14:52 -0500] "GET_CONFIG\r" 501 -
9.26.5.6 - - [09/Feb/2005:17:15:00 -0500] "< NSP/0.2 >" 400 299
9.26.5.6 - - [09/Feb/2005:17:22:40 -0500] "\x16\x03\x01" 501 -

无法正确地解析前两个记录和最后一个记录的严重性。某些其他记录数据,未正确地以扩展数据元素形式捕获。

1.2 代理控制器

1.2.1 在 DBCS 系统上对 Java 应用程序进行概要分析时控制台文本显示乱码

在 DBCS(如繁体中文、简体中文、日语和韩国语)系统上对 Eclipse 中的远程 Java 应用程序进行概要分析时,控制台输出将显示为乱码。此问题可能在任何平台上发生。

要解决此问题,请在启动远程 Java 应用程序时添加 Java VM 参数 -Dconsole.encoding=<native encoding>。这会确保在将控制台输出从远程位置传送回 Eclipse 工作台时的正确编码。要在 Windows 上确定 <native encoding>,请打开命令提示符并运行 chcp 命令。例如,如果结果为 950,则 <native encoding> 的值是 MS950。因此,该 Java VM 参数将是 -Dconsole.encoding=MS950。要获取有效编码列表,请参阅 Sun 公司的 Java 文档中“Internationalization”一节中的“Supported Encodings”。

1.2.2 代理控制器文件副本在 HP 11i 上不起作用

因为文件服务器未启动,所以文件副本不起作用。这是因为在运行时未装入 JVM 库 libjvm.sl,从而导致文件服务器未运行。

要解决此问题,需要链接程序补丁版本 PHSS_30049 或更高版本。补丁 30049 中的链接程序版本如下所示:

/bin/ld:
        $Revision: 1.2 $
        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.2 $
        92453-07 linker command s800.sgs ld PA64 B.11.38 REL 031217

检查版本号:what /bin/ld

列示已安装的补丁:swlist -l fileset

搜索“ld”以获取累积 ld 和链接程序工具补丁的版本号。

1.2.3 在 Solaris 上,代理控制器报告“sh: sysdef: not found”错误

代理控制器使用 sysdef 命令来获取系统上共享内存缓冲区的最大大小。如果代理控制器无法运行 sysdef,它将使用 <RAServer>/plugins/org.eclipse.hyades.datacollection/pluginconfig.xml 文件中指定的 dataChannelSize="30M"。在启动 RAServer.exe 的控制台上将报告以下错误:

sh: sysdef: not found
要解决此问题,请将包含 sysdef/usr/sbin 目录添加到 PATH 变量中。

1.2.4 在安装了 Sun JVM 的 Linux 上运行代理控制器时会进入无限循环

在安装了 Sun 1.4.2_04 JVM 的 Linux 机器上运行代理控制器时,引擎将进入无限循环。下列消息将被记录到 servicelog.log 中,最后三行将不断重复,直到您发出 kill 命令停止 RAServer 进程为止:
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION" text="Service starting"/>
<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"/>
要解决此问题,请在启动代理控制器前将 LD_LIBRARY_PATH 设置为指向所有 .so 文件。例如,在运行 RAServer 前发出以下命令:
export
LD_LIBRARY_PATH=/opt/j2sdk1.4.2_04/jre/lib/i386/server:/opt/j2sdk1.4.2_04/jre/li
b/i386

1.2.5 不允许在一台机器上安装多个代理控制器实例

在一台机器上只能安装一个代理控制器实例。这表示如果您已经随另一产品安装了引擎或引擎的扩展版本,就必须卸载该实例才能使新实例正常运行。例如,某些 IBM WebSphere Studio 或 IBM Rational 产品或者 developerWorks 提供的 Autonomic Computing Toolkit 允许您选择使用名称“代理控制器”来安装代理控制器。

1.2.6 当在远程服务器上找不到文件时,文件传输引擎不报告 FileNotFoundException

当您尝试对远程文件服务器上不存在的文件执行 GET 操作时,文件传输协议不会报告 FileNotFoundException。而是,您接收到指示成功地传送了大小为 0 的文件的通知。如果执行 GET 操作后返回了大小为 0 的文件,则原因是该文件在远程服务器上不存在,或者它存在并且大小为 0。目前,传输协议无法对这两种可能性进行区分。

1.2.7 在 iSeries 上以受保护方式运行代理控制器

在 iSeries 上的受保护方式下运行代理控制器需要特殊的帐户权限。用来启动代理控制器作业“RASTART”的用户帐户应该具有特权“*SECADM, *ALLOBJ”。您可能需要使用“WRKUSRPRF”命令更新用户概要文件以添加这些权限。

1.2.8 同时监视多个代理程序时未收集任何数据

有时,当同时监视两个或更多个与单个进程相关联的代理程序时,未收集到其中一个代理程序的数据。未能正确初始化其中一个代理程序的数据通道,因此无法将任何数据从该代理程序返回到客户机。

要解决此问题,对于一个进程,每次只监视一个代理程序。

1.2.9 关闭代理控制器时发生分段违例

Bugzilla 缺陷:99788

关闭代理控制器时,报告了分段违例。除中断显示以外,没有任何其它影响。不需要执行任何操作。此分段违例是在 Red Hat Enterprise Linux 3.0 update 4 上报告的。

1.2.10 在对应用程序进行概要分析时发生“内存不足”错误

Bugzilla 缺陷:57786

如果启动应用程序时指定了 JVM 参数 -Xmxnnn 和 -XrunpiAgent,并且将 TPTP 的“概要分析和记录”透视图与该应用程序连接并对其进行监视,则 JVM 可能会发出“内存不足”错误。在代理控制器配置中,Java 概要分析代理程序的 dataChannelSize 属性设置可能会影响可供 JVM 使用的内存容量,这可能会导致“内存不足”错误。要解决此问题,请减小 Java 概要分析代理程序的 -Xmx 值和/或 dataChannelSize 值。

1.2.11 代理程序收集的数据未被发送到客户机

Bugzilla 缺陷:73668

有时,当代理程序收集数据时,未将该数据发送到正在监视该代理程序的客户机。代理控制器 servicelog.log 文件中的以下公共基本事件消息显示了问题的原因:

msg="Shared memory allocation failure: -518"

无法分配用于将数据从代理程序发送到代理控制器的数据通道所需的共享内存缓冲区。当代理控制器重新启动时,共享内存缓冲区名称将重新被使用。有时,系统在上一次使用共享内存缓冲区后未彻底地清除它。当尝试使用先前未被清除的名称来分配缓冲区时,该分配操作将失败。要解决此问题,请使用另一个共享内存缓冲区名称再次执行监视操作。

1.2.12 终止正在带有多个代理程序的进程中运行的代理程序不成功

Bugzilla 缺陷:100870

当尝试终止正在带有多个代理程序的进程中运行的某个代理程序时,该进程成功地终止,但该进程的状态仍然是“未终止”。在这种情况下,重复地尝试终止该代理程序也不会成功。

要解决此问题,请在进程级别而不是在代理程序级别终止代理程序进程。

1.2.13 在 EBCDIC 平台上,请求对等监视不起作用

在 EBCDIC 平台上,请求对等监视不起作用。对于 TPTP 3.3 来说,当前没有变通方法。在 TPTP 4.0 中已不存在此局限性。

1.3 日志和跟踪分析器

1.3.1 本地主机不支持连续不断地执行日志监视

“日志和跟踪分析器”不支持通过本地主机连续不断地执行日志监视。但是,如果您想连续不断地监视本地日志文件,可以通过回送接口(127.0.0.1)进行,从而使用本地日志文件来模仿远程导入。在这种情况下,可以随时终止记录代理程序以避免 UI 挂起。

要通过回送接口进行导入或连续不断地进行监视,必须启动代理控制器(对于从本地主机导入来说,不必启动它)。

1.3.2 记录示例自述文件未打开

当您创建记录样本项目(文件 > 新建 > 示例)时,应该会在系统浏览器中打开一个自述文件。但是,如果尚未正确地设置工作台的文件关联首选项,就可能无法打开该文件。

要解决此问题,请转到“文件关联”首选项页面:选择窗口 > 首选项,然后选择工作台 > 文件关联。在文件类型列表中,选择 .html。在相关联的编辑器列表中,单击添加。选择外部程序按钮,然后选择缺省浏览器。单击确定。单击确定以应用新首选项。

1.3.3 当未正确地启动代理控制器时,使用了过滤器的远程日志导入不起作用

Bugzilla 缺陷:95615

如果未正确地启动代理控制器,在指定了过滤器的情况下从非 Windows 系统导入日志文件的请求将导致以下消息显示:

“尝试导入日志文件 /home/user/app.log 时发生了错误。原因:[Ljava.lang.StackTraceElement;@538c718”

此错误导致以下异常被抛出并记录在 .log 文件中。在 .log 文件中找到此异常也表示未正确地启动代理控制器:

org.eclipse.hyades.internal.execution.core.file.ServerNotAvailableException: 
java.net.ConnectException:连接被拒绝:连接

在启动代理控制器之前,确保已将包含可执行文件库(如 libjvm.so)的 JRE 目录添加到系统的适当库路径环境变量中。请参阅代理控制器安装目录中的 getting_started.html 文件以了解更多详细信息。  

1.3.4 在代理控制器未启动的情况下,远程日志导入过程保持处于“活动”状态

Bugzilla 缺陷:100084

当未在远程系统上运行代理控制器的情况下尝试导入远程日志时,显示了“连接失败...”错误消息,但“日志导航器”窗格中日志下面列示的日志导入过程仍被标记为处于“活动”状态,而实际上该过程已完成。要解决此问题,请在远程系统上启动代理控制器并尝试使用同一目标配置再次导入同一日志。现在,该过程将显示正确的状态。

1.3.5 导入某些 HTTP Server 访问日志可能会导致“字符串索引超出范围”错误

Bugzilla 缺陷:100979

使用静态解析器导入某些 HTTP Server 访问日志的操作可能会在所有记录被解析前停止,并可能显示类似于以下的消息:

IWAT0030E 执行远程日志解析器“org.eclipse.hyades.logging.adapter.config.StaticParserWrapper”时发生了错误:IWAT0412E
解析日志文件 /home/userId/logs/access.log 时发生了错误。
IWAT0357E 解析文件 /home/userId/logs/access.log 时发生了异常:
org.eclipse.hyades.logging.parsers.LogParserException:IWAT0054E 解析访问日志时发生了错误。
IWAT0306E 解析行号 1535 时发生了错误:

9.26.5.6 - - [09/Feb/2005:17:07:53 -0500] "VERSION" 501 -
字符串索引超出范围:-2。

HTTP Server 访问日志静态解析器无法解析未包含文件名的日志记录。此类记录的一个示例是:
9.26.5.6 - - [09/Feb/2005:17:07:53 -0500] "VERSION" 501 -

要解决此问题,请使用基于规则的解析器来导入日志文件。

1.3.6 导入 DBCS 系统上的 Microsoft Windows 系统事件日志时,某些事件包含不可读的数据

Bugzilla 缺陷:95077

从双字节字符集系统导入 Microsoft Windows 系统事件日志可能会导致“日志视图”中显示的某些公共基本事件缺少消息值或带有不可读的消息值。

1.3.7 导入空日志时发生 NullPointerException

Bugzilla 缺陷:100743

当导入空日志或者当使用的导入过滤器过滤掉了所有记录事件时,“日志视图”将是空的,并且可能会抛出 NullPointerException(在 XMLLoader.endElement 中)。检查日志文件,或者尝试使用另一个允许装入某些事件的过滤器。

1.3.8 导入 Windows 应用程序事件日志时生成了公共基本事件格式化错误

Bugzilla 缺陷:101718

有时,在导入 Microsoft Windows 应用程序事件日志时,将显示下列消息:

IWAT0027E 导入指定的日志文件时发生了错误。
IWAT0412E 解析日志文件 NULL 时发生了错误。
IWAT0438E 由于缺少必需属性 creationTime,所以公共基本事件格式化程序
N6B1EE3005B511D880008CD5D1F4FA98 无法创建公共基本事件。

日志解析器无法正确地解析某些日志记录。但是,大部分日志记录已被导入并显示在日志视图中。

1.3.9 当指定了无效的日志文件名时,从远程 HP-UX 系统导入日志的操作挂起

Bugzilla 缺陷:101491

如果从远程 HP-UX 系统导入日志时指定了无效的日志文件名,则导入操作可能会表现为永远不会结束。作业状态栏将显示“正在导入日志文件...”,进度指示器将连续不断地滚动,并且不显示任何错误消息。处于此状态的日志导入作业无法被取消。要停止日志导入作业,请停止 Eclipse 工作台。要解决此问题,请确保指定的日志文件名正确。

1.4 Probekit

1.5 概要分析工具

1.5.1 使用 IBM JDK 1.4.1 时,垃圾回收出现问题

Bugzilla 缺陷:56182

如果用户的应用程序使用相当大量的堆空间,请求收集对象引用运行 GC 可能导致 JVM 崩溃并显示以下错误消息:

 **内存不足,正在中止**

*** 应急启动:JVMCI023:无法分配内存以收集 jvmpi_heap_dump 中的堆转储

程序异常终止

如果运行时指定了 -Xmx 参数,则可尝试通过不指定此参数运行来解决此问题。

1.5.2 使用 Sun JDK 时,某些方法调用不会被跟踪

Bugzilla 缺陷:69051

在 Windows 上使用 Sun JDK 时,JVMPI 将不会跟踪 Java 程序中的某些方法调用。

没有已知的变通方法。

1.5.3 在安装了 Sun JDK 1.4.x 的 Solaris 或安装了 HP JDK 1.4.x 的 HP 上进行概要分析可能导致 JVM 崩溃

Bugzilla 缺陷:56404
在安装了 Sun JDK 1.4.x 的 Solaris 或安装了 HP JDK 1.4.x 的 HP 上进行概要分析可能导致 JVM 崩溃。

Sun 上的问题是由于 Sun JVM 中的一个错误造成的。要解决此问题,只应该使用下列概要分析集中的其中一个:

如果同时使用这两个概要分析集或者打开了“显示实例级别”信息,就会发生问题。此外,您可以升级到 Sun JDK 1.4.2_08-b03 构建,该构建已解决此问题。

JDK 1.4.2_04 已解决这个 HP JDK 错误。在 HP 上,唯一的解决方案是升级到该 JDK 版本或更新版本。

1.5.4 在 Solaris 上以单机方式运行并且 STACK_INFORMATION 设置为 contiguous 时可能会崩溃

Bugzilla 缺陷:50090
在 Solaris 上进行概要分析时,如果以单机方式进行概要分析,可能会遇到问题。仅当 STACK_INFORMATION 设置为 contiguous(或 boundaryAndContiguous)并且 TRACE_MODE 设置为 full 时,才会发生此问题。此问题可能导致 JVM 崩溃。

要在 STACK_INFORMATION 设置为 contiguous 的情况下解决此问题,请将 TRACE_MODE 设置为 noObjectCorrelation。如果 STACK_INFORMATION 设置为 none 或者 STACK_INFORMATION 设置为 normal,则不会发生此问题。

1.5.5 WAIT 和 WAITED 事件的无效超时值

Bugzilla 缺陷:63969

在 jvmpi 概要文件选项 MONITOR_MODE 设置为 all 的情况下使用 IBM 1.4.2 JDK 以单机方式运行时,您可能会在跟踪 monitorWait 和 monitorWaited 元素时发现它们的无效超时属性。将它们强制类型转换为 64 位正整数后,它们实际上是极大的超时值。此错误是由一个 JDK 错误造成的。

IBM JDK 1.4.2 SR1a 已解决这个JDK 错误。一个解决方案是升级到这个 JDK 级别或更新版本。

1.5.6 使用 IBM JDK 1.4.2 时,监视器转储不正确

Bugzilla 缺陷:6519372180

因为 JDK 错误,在 jvmpi 概要文件选项 MONITOR_MODE 设置为 all 的情况下以单机方式运行 Test and Performance Platform 时,可能会产生错误的监视器转储。特别是对于错误 65193,使用了“-Xj9”VM 参数时就会发生这种情况。

1.5.7 使用 JIT 直接插入功能时,方法计数不正确

Bugzilla 缺陷:70660(已作为“无法解决”而关闭)

当使用 JIT 直接插入功能时,如果您怀疑您在分析工具中看到的方法计数太小,请关闭 JIT 直接插入功能。只有使用了 IBM Java 2 运行时环境 V1.4.2 ,并且启用了 JIT 时才会发生此问题。

此问题的唯一变通方法是关闭直接插入功能。为此,请设置以下环境变量:

JITC_COMPILEOPT=NINLINING

1.5.8 AIX 和 Solaris 上的方法级别 CPU 时间统计信息局限性

在 TPTP 3.0 和 4.0 中,可以收集方法级别 CPU 时间统计信息。(可选)您可以在“方法统计信息”视图或“方法调用”表的一个附加列中查看方法级别 CPU 时间统计信息。此功能的平台局限性如下所示:

在 AIX 4.3 上,不支持报告方法级别 CPU 时间统计信息。

在 Aix V5.1 上,如果要报告方法级别 CPU 时间统计信息,就需要导出环境变量“AIXTHREAD_ENRUSG=ON”。

在 Solaris 上,当前不支持方法级别 CPU 时间统计信息功能。

1.5.9 在 Linux 上,对现有概要文件进行概要分析时将失败

Bugzilla 缺陷:95803

在 Linux 平台上,对现有概要文件进行概要分析时将失败。在代码中使用了无效的路径分隔符,这导致 FileNotFoundException。

要解决此问题,请对新文件进行概要分析,而不是对现有概要文件进行概要分析。

1.5.10 导入无头概要分析生成的概要文件

当以无头概要分析生成了概要文件时,由于该文件缺少顶级 <TRACE> 元素,所以无法将该文件正确地导入到 Eclipse 工作台中。

变通方法是在将该概要文件导入 Eclipse 工作台前对其进行手工编辑,在该概要文件的开头添加字符串 <TRACE> 并在末尾添加 </TRACE>

1.5.11 异常关闭工作台后显示了重复的过滤器视图

Bugzilla 缺陷:97894

如果工作台崩溃或异常关闭,就可能无法正确地保存跟踪和记录过滤器,从而导致在工作台重新启动时重新创建过滤器。因此,在视图过滤器列表中显示了重复的过滤器。

要除去重复的过滤器,请使用“管理过滤器向导”来删除该过滤器,您可以从视图下拉菜单中访问该向导。

1.5.12“释放内存”操作可能静默地失败

“释放内存”操作可能静默地失败。如果发生故障,您可能需要关闭“概要分析和记录”透视图,然后重新打开它。

1.5.13 当选择了执行历史记录 > 全部图形详细信息但是未进行编辑时,会设置不正确的代理程序选项。

Bugzilla 缺陷:99492

当在“概要分析启动配置”向导的“概要分析”选项卡上选择了概要分析集“执行历史记录 - 全部图形详细信息”但是未编辑它的任何内容时,收集的概要分析数据将多于所需的数据。将收集诸如对象分配数据之类的额外概要分析数据。

要解决此问题,请在选择“执行历史记录 - 全部图形详细信息”概要分析集后单击编辑并通过单击每个向导页面上的下一步来完成每个页面。完成向导后,单击完成以更新概要分析集的设置。

1.5.14 在进行包级别过滤的情况下导入概要文件将显示空视图

Bugzilla 缺陷:100334

当在选择了“内存分析”(概要分析类型)的情况下生成概要文件时,不会按时间顺序将事件保存在概要文件中。这将导致故障,例如以后在包级别进行过滤的情况下导入概要文件时将丢失包。

要解决此问题,请在不在包级别进行任何过滤的情况下导入概要文件,并在导入完成后在统计信息视图中过滤数据。

1.5.15 概要分析方式显示的数据超出预期

当使用下列概要分析类型(即:不带实例级别信息的“基本内存分析”以及带执行流图形详细信息但是不带实例级别信息的“执行时间分析”)对应用程序进行概要分析后,在您选择了“实例级别信息”工具栏按钮时,实例级别信息将显示在“执行统计信息”视图中。

1.6 统计信息控制台

1.7 测试

1.7.1 常见测试问题

1.7.1.1 JUnit 测试、手工测试和 URL 测试在 iSeries 上不起作用

Bugzilla 缺陷:68899

1.7.1.2 数据池访问

Bugzilla 缺陷:68911
在描述从测试访问数据池的文档中,遗漏了一个步骤,并且包含了一个不能完全起作用的代码样本。

需要将下列 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();
	}
	

1.7.2 URL 测试

1.7.2.1 将 URL 测试作为 JUnit 测试来执行

URL 测试可作为 JUnit 测试来执行。为此,必须将下列条目添加到包含 URL 测试的项目的 Java 构建路径中:

      [ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.3.0/hlcore.jar
      [ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.3.0/hlcbe101.jar
      [ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.2/runtime/ecore.jar
      [ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.java14_3.3.0/hl14.jar
      [ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.1/runtime/common.jar
	

1.7.2.2 执行 URL 测试样本

为了防止发生编译问题,已经从 URL 测试样本中除去了类和 Java 文件。此样本不用于执行。
 

返回到主自述文件