




已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
AQTime使用指南AQTime是AutomatedQA公司開發(fā)的一個Code Profiler工具,功能非常強大,是Sys-Con Magzine 2004 Readers Choice ,Code Profiler for .net類的冠軍得主。一個簡單示例啟動AQTime,選擇File|New Project,然后在Setup頁簽從右鍵菜單中選Add Module。加入一個要準備進行分析的可執(zhí)行程序,然后選Run:彈出的界面不用更改,繼續(xù)選Run:程序執(zhí)行完畢退出后,AQTime中就能看到本次運行的統(tǒng)計結果了:界面下方有多個分析視圖:配置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中??梢詮腗odules列表中把項目拖過來,也可以從右鍵菜單中選Add Seleted to Area:例如我們想分析UBF持久化相關代碼,可以先把相關的dll添加到了Modules列表中,然后Add到剛才創(chuàng)建的Area中。這里既可以選擇整個dll,也可以選擇其中的具體類型,甚至是某個方法,粒度可以非常細。Area分Including和Excluding兩類,某些代碼不想Profiler的話,可以把它扔到一個Excluding的Area中去。根據需要,可以建立任意多個Area??刂品治隽6扔葾rea的Level屬性決定,一般選擇Routine,統(tǒng)計到方法級;選Line會到代碼級,AQTime會給出每一行的執(zhí)行情況,但這會使Profiler運行過程變得較慢。一般的技巧是大致確定問題范圍后,再使用Line級詳細跟蹤分析??刂品治鲞^程AQTime缺省會分析整個程序運行的過程。如果想分析某個時間段的執(zhí)行狀況(例如分析某對話框的某個按鈕按下時的執(zhí)行狀況),可以通過關閉及開啟Profiling來實現(xiàn)。在Run命令運行前,先選擇Disable Profiling按鈕,關閉AQTime的統(tǒng)計跟蹤功能:當該對話框打開,準備按下按鈕前,打開AQTime的統(tǒng)計跟蹤功能:按鈕對應的功能執(zhí)行完成后,按下Get Results按鈕取這段時間的運行結果:分析運行結果Report列表這個列表給出了各個方法的執(zhí)行情況統(tǒng)計。可以對列表按列排序,可以做分組,可以指定顯示哪些列等:可以過濾:還可以把感興趣的方法加入到Area中,以便進一步分析:Editor/Disassembler源碼或IL代碼中可直接看到執(zhí)行情況。Details看到某一方法調用的子方法情況和調用它的父方法情況。Call Graph圖形方式展現(xiàn)的調用鏈。Call Tree樹狀展現(xiàn),會自動把子方法中消耗最大的提前。雙擊可將選中的方法置頂。這個分析視圖最為有用。Results View使用More than 3%方式,能幫助快速過濾出主要可能存在問題的方法。主要的統(tǒng)計項目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這個統(tǒng)計項可以明確其效果。其它多種profiler方式除性能分析外,還支持內存分配分析、代碼覆蓋率分析、靜態(tài)分析等方式。時間刻度可調Summary頁面這里也可以幫您快速定位可能有性能問題的方法集成到Vstudio中安裝AQTime后,Vstudio中多出一個Profile菜單,可選Add AQTime Project,創(chuàng)建一個AQTime類型的Solution:然后加入Module,定義Area等:本例用了一個Nunit測試類,并用nunit-gui.exe作為宿主程序。執(zhí)行完畢后,即可看到結果。使用過程基本同獨立的AQTime,只是內嵌到了Vstudio中而已,不是真正的集成概念。分析示例這是對UBF進行性能分析時發(fā)現(xiàn)的一個問題:我們觀察到ValueManager從一個DataReader讀取數據的過程中,訪問Entity元數據的Keys屬性相當消耗時間。展開下去,可以看到最終使用了反射技術來創(chuàng)建Keys元數據。Entity元數據是穩(wěn)定的,其包含的Keys元數據不應該每次創(chuàng)建?。縼聿榭匆幌聦崿F(xiàn)代碼:還果真如此!顯然這里應增加一個_Keys變量,存儲首次計算結果。象這類問題,是非常小的代碼實現(xiàn)問題,就是當時寫程序時一下疏忽了。但如果不使用AQTi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025管理人員崗前安全培訓考試試題及答案考點提分
- 2025廠級安全培訓考試試題附參考答案(考試直接用)
- 2025年工廠安全培訓考試試題及答案高清版
- 2025年建筑工程勞務分包合同范本
- 2025終止租賃合同協(xié)議書范本
- 2025二手商業(yè)店鋪買賣合同范本
- 2025建筑工程混凝土購銷合同
- 2025租賃經營合同(3)新版:全面優(yōu)化與合作方共贏策略
- 2025年鉆采裝備項目建議書
- 2025精英企業(yè)合同協(xié)議
- 連云港2025年連云港市贛榆區(qū)事業(yè)單位招聘31人筆試歷年參考題庫附帶答案詳解
- 8.1薪火相傳的傳統(tǒng)美德 課件-2024-2025學年統(tǒng)編版道德與法治七年級下冊
- 湖北省武漢市2025屆高中畢業(yè)生四月調研考試語文試卷及答案(武漢四調)
- 食堂負面清單管理制度
- 2025年安徽省示范高中皖北協(xié)作區(qū)第27屆聯(lián)考 生物學(含解析)
- 2025年度專業(yè)技術人員繼續(xù)教育公需科目考試題(附答案)
- 2025年中考語文《教材字音、字形》梳理
- 2024年上半年教資科目一試題
- 施工員頂崗實習報告范文
- 毽球知到智慧樹章節(jié)測試課后答案2024年秋武漢職業(yè)技術學院
- 霧化吸入療法合理用藥專家共識(2024版)課件
評論
0/150
提交評論