可以看到,此階段監(jiān)控服務的狀態(tài)是暫停的:
收集運行時數(shù)據(jù)
當主程序完全運行起來后,選擇我們的 MyShop 視圖并將其調(diào)用起來。在我們做下一步操作前,點擊 “開始”按鈕 ( 參見圖 8) 以開啟監(jiān)視器的數(shù)據(jù)收集。
可以看到,此時 Profilling Monitor 視圖中的運行狀態(tài)已由暫停改為運行 :
接著,進行我們的操作。選擇 “browse” 按鈕并選擇存放我們產(chǎn)品信息文件的目錄。產(chǎn)品信息文件可在本文附件中找到。點擊 OK 后,可以看到,如圖 2 所示,產(chǎn)品信息已經(jīng)從文件中獲取出來了。
操作完成后,我們也獲得了我們需要的數(shù)據(jù),可以將需要分析的程序關閉,回到前面的 Profilling Monitor 視圖中進行具體的數(shù)據(jù)分析工作。
關于離線數(shù)據(jù)分析
實際上,在被分析程序運行的時候,這些數(shù)據(jù)的分析工作可以開始進行了。但是進行在線分析會導致被測試程序運行緩慢而且影響分析效果。所以如果可能,好是把數(shù)據(jù)收集下來后關閉被測試程序進行離線數(shù)據(jù)分析。
分析程序調(diào)用關系
使用 TPTP 對運行時數(shù)據(jù)進行分析,其中一個非常有用的功能是根據(jù)運行時數(shù)據(jù)分析對象之間的調(diào)用關系。TPTP 提供 UML 序列圖的查看方式。這種方式的分析對剛接手一個不熟悉的程序開發(fā)時尤其有用。
回到我們的例子中,當分析程序運行后,會在 Profilling Monitor 視圖中生成相應的報告。如圖所示,選擇以 UML2 Class Interactions 的方式打開分析報告。
在 UML 序列圖的分析中,不僅可以看到類之間的調(diào)用關系,其調(diào)用過程中的性能瓶頸也會被標記出來。