可以看到,此阶段监控服务的状态是暂停的:
收集运行时数据
当主程序完全运行起来后,选择我们的 MyShop 视图并将其调用起来。在我们做下一步操作前,点击 “开始”按钮 ( 参见图 8) 以开启监视器的数据收集。
可以看到,此时 Profilling Monitor 视图中的运行状态已由暂停改为运行 :
接着,进行我们的操作。选择 “browse” 按钮并选择存放我们产品信息文件的目录。产品信息文件可在本文附件中找到。点击 OK 后,可以看到,如图 2 所示,产品信息已经从文件中获取出来了。
操作完成后,我们也获得了我们需要的数据,可以将需要分析的程序关闭,回到前面的 Profilling Monitor 视图中进行具体的数据分析工作。
关于离线数据分析
实际上,在被分析程序运行的时候,这些数据的分析工作可以开始进行了。但是进行在线分析会导致被测试程序运行缓慢而且影响分析效果。所以如果可能,好是把数据收集下来后关闭被测试程序进行离线数据分析。
分析程序调用关系
使用 TPTP 对运行时数据进行分析,其中一个非常有用的功能是根据运行时数据分析对象之间的调用关系。TPTP 提供 UML 序列图的查看方式。这种方式的分析对刚接手一个不熟悉的程序开发时尤其有用。
回到我们的例子中,当分析程序运行后,会在 Profilling Monitor 视图中生成相应的报告。如图所示,选择以 UML2 Class Interactions 的方式打开分析报告。
在 UML 序列图的分析中,不仅可以看到类之间的调用关系,其调用过程中的性能瓶颈也会被标记出来。