练习 1.2:收集性能和覆盖数据

在开始之前,必须完成练习 1.1:导入必需的资源

方案:要求调查 Java 项目,因为它的性能不稳定。项目包括冒泡排序和快速排序。令人意料不到的是,冒泡排序比快速排序还快。您的任务是使用 Software Development Platform 中的运行时分析工具来找出产生这种现象的原因。

由于存在性能问题,您决定收集性能数据以供在“性能调用图”视图中显示。您还决定同时收集方法和行代码覆盖数据。收集覆盖数据有助于确保您测试代码的所有部分。

准备收集性能和覆盖数据

要收集性能和覆盖数据,必须处于“概要分析和记录”透视图中。

要切换到“概要分析和记录”透视图:

  1. 从 Software Development Platform 菜单栏中,选择窗口 > 打开透视图 > 其它...
    “选择透视图”对话框打开。
  2. 在对话框左下方,单击全部显示
    一个选择标记将出现在复选框中。
  3. 从透视图列表中选择概要分析和记录,然后单击确定
  4. 如果“确认启用”对话框打开,则单击始终启用功能,不要再次询问我,然后单击确定
    Software Development Platform 就切换到“概要分析和记录”透视图。

收集 sort 应用程序的性能和覆盖数据

以下过程运行 sort 应用程序并收集性能数据以识别性能较慢以致产生意外结果的区域。它还收集方法和行代码覆盖数据,此数据显示是否运用了应用程序的所有部分。

要收集性能和覆盖数据:

  1. 从 Software Development Platform 菜单栏中,选择窗口 > 显示视图 > 控制台以打开“控制台”视图。“控制台”视图允许您跟随应用程序的处理过程。
  2. 创建概要分析配置。(概要分析配置是一组可再用的指示信息,用于从特定项目收集数据。)
    1. 从菜单栏中选择运行 > 概要文件...
      “概要文件”对话框打开。
    2. 在“配置”列表中,双击 Java 应用程序条目。
      New_configuration 条目出现。
    3. 在“名称”字段中,输入 sort_perf_plus_cov
    4. 在“主要”选项卡中,如果“项目”字段中尚未输入 Sort,则执行以下操作:
      1. 单击“项目”字段旁边的浏览
        “选择项目”对话框打开。
      2. 选择 Sort,然后单击确定
    5. 单击“Main 类”字段旁边的搜索
    6. 在“选择 Main 类型”对话框中,选择 Sort,然后单击确定
    7. 在“概要分析”对话框中,单击“概要分析”选项卡。
    8. 在“概述”子选项卡中,单击添加以添加概要分析集。(概要分析集定义对运行要收集的概要分析数据的类型。)
      “添加概要分析集”对话框打开。
    9. 对于“概要分析集名称”,输入性能和覆盖
    10. 单击确定
    11. 单击编辑。“编辑概要分析集”对话框打开。
    12. 展开代码覆盖条目。
    13. 选择方法和行代码覆盖复选框。
    14. 展开时间分析条目。
    15. 选择执行时间分析复选框。
    16. 在“执行时间分析”页中,选择显示执行流图详细信息单选按钮。
    17. 单击完成
      现在,概要分析集包含两种概要分析类型(“执行时间分析”和“方法和行代码覆盖”)。
  3. 单击概要分析
    应用程序就会运行并显示更改,如下所示:

输出类似如下:

***************************************

Median of  10000  sorted numbers is : -22682115

*****************************************


***************************************

Median of  10000  sorted numbers is : -22682115

*****************************************

如果无法收集数据

必须先运行“代理控制器”才能收集任何种类的概要分析数据。如果接收到“代理控制器不可用”消息,确保已安装“代理控制器”,手工启动它,然后再试。有关指示信息,请参阅安装指南。可以通过使用安装启动板访问安装指南,也可以在产品 CD 的 disk1/install.html 中找到它。

在收集了数据之后,您就可以开始进行练习 1.3:识别性能瓶颈了。

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.