练习 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. 在“选择主要类型”对话框中,选择 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.