




已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
AQTime使用指南AQTime是AutomatedQA公司開(kāi)發(fā)的一個(gè)Code Profiler工具,功能非常強(qiáng)大,是Sys-Con Magzine 2004 Readers Choice ,Code Profiler for .net類(lèi)的冠軍得主。一個(gè)簡(jiǎn)單示例啟動(dòng)AQTime,選擇File|New Project,然后在Setup頁(yè)簽從右鍵菜單中選Add Module。加入一個(gè)要準(zhǔn)備進(jìn)行分析的可執(zhí)行程序,然后選Run:彈出的界面不用更改,繼續(xù)選Run:程序執(zhí)行完畢退出后,AQTime中就能看到本次運(yùn)行的統(tǒng)計(jì)結(jié)果了:界面下方有多個(gè)分析視圖:配置AQTime控制分析范圍AQTime缺省會(huì)分析所有.net代碼,如果想控制分析范圍,主要有兩種方式。使用EnvironmentOptions從該對(duì)話(huà)框中選中Exclude routines with no source info。這將控制AQTime只分析哪些帶有pdb文件且pdb文件包含了源代碼信息的程序集。這是一個(gè)比較方便的選項(xiàng),一般情況下用這個(gè)選項(xiàng)效果就可以了。注意,該選項(xiàng)僅當(dāng)Setup頁(yè)簽上的Profile Entire .NET Code by Routines選項(xiàng)關(guān)閉時(shí)才起作用。使用Area而如果要想控制任意精細(xì)的程度,則需要用到Area。首先,要先Add一個(gè)Area:Add了Area后,再定義哪些代碼歸入到這個(gè)Area中??梢詮腗odules列表中把項(xiàng)目拖過(guò)來(lái),也可以從右鍵菜單中選Add Seleted to Area:例如我們想分析UBF持久化相關(guān)代碼,可以先把相關(guān)的dll添加到了Modules列表中,然后Add到剛才創(chuàng)建的Area中。這里既可以選擇整個(gè)dll,也可以選擇其中的具體類(lèi)型,甚至是某個(gè)方法,粒度可以非常細(xì)。Area分Including和Excluding兩類(lèi),某些代碼不想Profiler的話(huà),可以把它扔到一個(gè)Excluding的Area中去。根據(jù)需要,可以建立任意多個(gè)Area??刂品治隽6扔葾rea的Level屬性決定,一般選擇Routine,統(tǒng)計(jì)到方法級(jí);選Line會(huì)到代碼級(jí),AQTime會(huì)給出每一行的執(zhí)行情況,但這會(huì)使Profiler運(yùn)行過(guò)程變得較慢。一般的技巧是大致確定問(wèn)題范圍后,再使用Line級(jí)詳細(xì)跟蹤分析。控制分析過(guò)程AQTime缺省會(huì)分析整個(gè)程序運(yùn)行的過(guò)程。如果想分析某個(gè)時(shí)間段的執(zhí)行狀況(例如分析某對(duì)話(huà)框的某個(gè)按鈕按下時(shí)的執(zhí)行狀況),可以通過(guò)關(guān)閉及開(kāi)啟Profiling來(lái)實(shí)現(xiàn)。在Run命令運(yùn)行前,先選擇Disable Profiling按鈕,關(guān)閉AQTime的統(tǒng)計(jì)跟蹤功能:當(dāng)該對(duì)話(huà)框打開(kāi),準(zhǔn)備按下按鈕前,打開(kāi)AQTime的統(tǒng)計(jì)跟蹤功能:按鈕對(duì)應(yīng)的功能執(zhí)行完成后,按下Get Results按鈕取這段時(shí)間的運(yùn)行結(jié)果:分析運(yùn)行結(jié)果Report列表這個(gè)列表給出了各個(gè)方法的執(zhí)行情況統(tǒng)計(jì)。可以對(duì)列表按列排序,可以做分組,可以指定顯示哪些列等:可以過(guò)濾:還可以把感興趣的方法加入到Area中,以便進(jìn)一步分析:Editor/Disassembler源碼或IL代碼中可直接看到執(zhí)行情況。Details看到某一方法調(diào)用的子方法情況和調(diào)用它的父方法情況。Call Graph圖形方式展現(xiàn)的調(diào)用鏈。Call Tree樹(shù)狀展現(xiàn),會(huì)自動(dòng)把子方法中消耗最大的提前。雙擊可將選中的方法置頂。這個(gè)分析視圖最為有用。Results View使用More than 3%方式,能幫助快速過(guò)濾出主要可能存在問(wèn)題的方法。主要的統(tǒng)計(jì)項(xiàng)目Time方法自身消耗時(shí)間Time with Children方法自身及其調(diào)用的子方法合計(jì)消耗時(shí)間HitCount方法調(diào)用次數(shù)First Time方法首次調(diào)用時(shí),自身消耗時(shí)間First Time with Children方法首次調(diào)用時(shí),自身及其調(diào)用的子方法合計(jì)消耗時(shí)間Average Time方法自身消耗時(shí)間的平均值A(chǔ)verage Time with Children方法自身及其調(diào)用的子方法合計(jì)消耗時(shí)間的平均值Shared Time這是Time占Time with Children的比率一般會(huì)主要關(guān)注Time with Children和HitCount,再配合Time和First Time with Children。部分方法屬于單例方法和帶緩存能力,觀察First Time with Children這個(gè)統(tǒng)計(jì)項(xiàng)可以明確其效果。其它多種profiler方式除性能分析外,還支持內(nèi)存分配分析、代碼覆蓋率分析、靜態(tài)分析等方式。時(shí)間刻度可調(diào)Summary頁(yè)面這里也可以幫您快速定位可能有性能問(wèn)題的方法集成到Vstudio中安裝AQTime后,Vstudio中多出一個(gè)Profile菜單,可選Add AQTime Project,創(chuàng)建一個(gè)AQTime類(lèi)型的Solution:然后加入Module,定義Area等:本例用了一個(gè)Nunit測(cè)試類(lèi),并用nunit-gui.exe作為宿主程序。執(zhí)行完畢后,即可看到結(jié)果。使用過(guò)程基本同獨(dú)立的AQTime,只是內(nèi)嵌到了Vstudio中而已,不是真正的集成概念。分析示例這是對(duì)UBF進(jìn)行性能分析時(shí)發(fā)現(xiàn)的一個(gè)問(wèn)題:我們觀察到ValueManager從一個(gè)DataReader讀取數(shù)據(jù)的過(guò)程中,訪(fǎng)問(wèn)Entity元數(shù)據(jù)的Keys屬性相當(dāng)消耗時(shí)間。展開(kāi)下去,可以看到最終使用了反射技術(shù)來(lái)創(chuàng)建Keys元數(shù)據(jù)。Entity元數(shù)據(jù)是穩(wěn)定的,其包含的Keys元數(shù)據(jù)不應(yīng)該每次創(chuàng)建???來(lái)查看一下實(shí)現(xiàn)代碼:還果真如此!顯然這里應(yīng)增加一個(gè)_Keys變量,存儲(chǔ)首次計(jì)算結(jié)果。象這類(lèi)問(wèn)題,是非常小的代碼實(shí)現(xiàn)問(wèn)題,就是當(dāng)時(shí)寫(xiě)程序時(shí)一下疏忽了。但如果不使用AQTi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行反洗錢(qián)宣傳工作計(jì)劃
- 工廠車(chē)間疫情防控培訓(xùn)計(jì)劃
- 中隊(duì)輔導(dǎo)員文化活動(dòng)策劃計(jì)劃
- 蘇教版六年級(jí)下冊(cè)數(shù)學(xué)分組輔導(dǎo)計(jì)劃
- 人教版三年級(jí)上冊(cè)體育體適能開(kāi)發(fā)計(jì)劃
- 六年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)資源整合計(jì)劃
- 胸膜棘球蚴病護(hù)理措施
- 速凍食品安全應(yīng)急預(yù)案演練計(jì)劃
- 七下語(yǔ)文知識(shí)點(diǎn)復(fù)習(xí)計(jì)劃
- 幼兒園大班秋季學(xué)期玩具安全管理計(jì)劃
- 小學(xué)班主任班級(jí)管理 四年級(jí)家長(zhǎng)會(huì) 課件
- 2022-2023學(xué)年北京市通州區(qū)高一期末語(yǔ)文試卷及答案解析
- 電力建設(shè)安全工作規(guī)程完整
- 大力加強(qiáng)依法治校推進(jìn)學(xué)校治理體系與治理能力現(xiàn)代化課件
- 病媒生物監(jiān)測(cè)方案
- 山東省煙臺(tái)招遠(yuǎn)市(五四制)2022-2023學(xué)年八年級(jí)下學(xué)期期末語(yǔ)文試題(解析版)
- 山東工商學(xué)院馬克思主義基本原理期末復(fù)習(xí)題及參考答案
- 深圳市寶安區(qū)教育系統(tǒng)非正編人員聘用合同書(shū)
- 2023-2024學(xué)年河北省武安市小學(xué)語(yǔ)文六年級(jí)期末高分提分卷附參考答案和詳細(xì)解析
- 二十四節(jié)氣芒種PPT模板
- 浙江省消防技術(shù)規(guī)范難點(diǎn)問(wèn)題操作技術(shù)指南(2020版)
評(píng)論
0/150
提交評(píng)論