




已閱讀5頁,還剩9頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
AQTime使用指南AQTime是AutomatedQA公司開發的一個Code Profiler工具,功能非常強大,是Sys-Con Magzine 2004 Readers Choice ,Code Profiler for .net類的冠軍得主。一個簡單示例啟動AQTime,選擇File|New Project,然后在Setup頁簽從右鍵菜單中選Add Module。加入一個要準備進行分析的可執行程序,然后選Run:彈出的界面不用更改,繼續選Run:程序執行完畢退出后,AQTime中就能看到本次運行的統計結果了:界面下方有多個分析視圖:配置AQTime控制分析范圍AQTime缺省會分析所有.net代碼,如果想控制分析范圍,主要有兩種方式。使用EnvironmentOptions從該對話框中選中Exclude routines with no source info。這將控制AQTime只分析哪些帶有pdb文件且pdb文件包含了源代碼信息的程序集。這是一個比較方便的選項,一般情況下用這個選項效果就可以了。注意,該選項僅當Setup頁簽上的Profile Entire .NET Code by Routines選項關閉時才起作用。使用Area而如果要想控制任意精細的程度,則需要用到Area。首先,要先Add一個Area:Add了Area后,再定義哪些代碼歸入到這個Area中。可以從Modules列表中把項目拖過來,也可以從右鍵菜單中選Add Seleted to Area:例如我們想分析UBF持久化相關代碼,可以先把相關的dll添加到了Modules列表中,然后Add到剛才創建的Area中。這里既可以選擇整個dll,也可以選擇其中的具體類型,甚至是某個方法,粒度可以非常細。Area分Including和Excluding兩類,某些代碼不想Profiler的話,可以把它扔到一個Excluding的Area中去。根據需要,可以建立任意多個Area??刂品治隽6扔葾rea的Level屬性決定,一般選擇Routine,統計到方法級;選Line會到代碼級,AQTime會給出每一行的執行情況,但這會使Profiler運行過程變得較慢。一般的技巧是大致確定問題范圍后,再使用Line級詳細跟蹤分析??刂品治鲞^程AQTime缺省會分析整個程序運行的過程。如果想分析某個時間段的執行狀況(例如分析某對話框的某個按鈕按下時的執行狀況),可以通過關閉及開啟Profiling來實現。在Run命令運行前,先選擇Disable Profiling按鈕,關閉AQTime的統計跟蹤功能:當該對話框打開,準備按下按鈕前,打開AQTime的統計跟蹤功能:按鈕對應的功能執行完成后,按下Get Results按鈕取這段時間的運行結果:分析運行結果Report列表這個列表給出了各個方法的執行情況統計。可以對列表按列排序,可以做分組,可以指定顯示哪些列等:可以過濾:還可以把感興趣的方法加入到Area中,以便進一步分析:Editor/Disassembler源碼或IL代碼中可直接看到執行情況。Details看到某一方法調用的子方法情況和調用它的父方法情況。Call Graph圖形方式展現的調用鏈。Call Tree樹狀展現,會自動把子方法中消耗最大的提前。雙擊可將選中的方法置頂。這個分析視圖最為有用。Results View使用More than 3%方式,能幫助快速過濾出主要可能存在問題的方法。主要的統計項目Time方法自身消耗時間Time with Children方法自身及其調用的子方法合計消耗時間HitCount方法調用次數First Time方法首次調用時,自身消耗時間First Time with Children方法首次調用時,自身及其調用的子方法合計消耗時間Average Time方法自身消耗時間的平均值Average Time with Children方法自身及其調用的子方法合計消耗時間的平均值Shared Time這是Time占Time with Children的比率一般會主要關注Time with Children和HitCount,再配合Time和First Time with Children。部分方法屬于單例方法和帶緩存能力,觀察First Time with Children這個統計項可以明確其效果。其它多種profiler方式除性能分析外,還支持內存分配分析、代碼覆蓋率分析、靜態分析等方式。時間刻度可調Summary頁面這里也可以幫您快速定位可能有性能問題的方法集成到Vstudio中安裝AQTime后,Vstudio中多出一個Profile菜單,可選Add AQTime Project,創建一個AQTime類型的Solution:然后加入Module,定義Area等:本例用了一個Nunit測試類,并用nunit-gui.exe作為宿主程序。執行完畢后,即可看到結果。使用過程基本同獨立的AQTime,只是內嵌到了Vstudio中而已,不是真正的集成概念。分析示例這是對UBF進行性能分析時發現的一個問題:我們觀察到ValueManager從一個DataReader讀取數據的過程中,訪問Entity元數據的Keys屬性相當消耗時間。展開下去,可以看到最終使用了反射技術來創建Keys元數據。Entity元數據是穩定的,其包含的Keys元數據不應該每次創建???來查看一下實現代碼:還果真如此!顯然這里應增加一個_Keys變量,存儲首次計算結果。象這類問題,是非常小的代碼實現問題,就是當時寫程序時一下疏忽了。但如果不使用AQTi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024內蒙古公務員考試筆試真題
- 2024年衢州江山市文旅投資集團有限公司招聘真題
- 2024年山東第二醫科大學招聘真題
- 河北政法職業學院《建筑測繪》2023-2024學年第二學期期末試卷
- 西華大學《幼兒文學與藝術》2023-2024學年第二學期期末試卷
- 滇西科技師范學院《鋼琴指法入門》2023-2024學年第二學期期末試卷
- 山西工程科技職業大學《跨國公司經營》2023-2024學年第二學期期末試卷
- Tiagabine-d4-NO050328-d-sub-4-sub-生命科學試劑-MCE
- 工業園區清潔與環境保護措施
- 工業發展與環境保護的平衡之道
- 口腔實習生崗前培訓課件
- 自動生成的文檔-202504081202-70
- 鋼結構檢測管理制度
- T/SHPTA 030-2022民用航空器用聚氟乙烯基阻燃耐候復合裝飾膜
- 吊車吊籃高空作業施工方案
- 工資調整變更協議書
- 基于YOLOv5的目標檢測算法優化及其在工業場景的應用研究
- 地鐵保安服務應急預案
- 早產兒腸內營養管理專家共識2024年解讀
- 商務談判實務-形考任務二-國開(ZJ)-參考資料
- GA 1812.1-2024銀行系統反恐怖防范要求第1部分:人民幣發行庫
評論
0/150
提交評論