日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

使用PerfView监测.NET程序性能(四):折叠,过滤和时间范围选择

發(fā)布時間:2023/12/4 asp.net 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用PerfView监测.NET程序性能(四):折叠,过滤和时间范围选择 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在上一篇文章使用PerfView監(jiān)測.NET程序性能(三):分組中,我們使用了Perfview的分組功能。分組功能旨在對某些函數(shù)按照某個格式進行分組,以減少視圖中的各種無關函數(shù)的數(shù)量。但僅有分組還不夠,有時我們想將一些函數(shù)調(diào)用信息按某些條件過濾掉,例如將采用小于1%的函數(shù)調(diào)用信息去掉,或者將函數(shù)名中包含某個字眼的函數(shù)信息去掉,甚至只顯示某個時間段調(diào)用的函數(shù)。這就需要用到PerfView提供的過濾(Filtering)功能了。PerfVIew提供了3種過濾功能:折疊(Folding),匹配過濾,和時間范圍選擇(Set Time Range)

折疊(Folding)

PerfView在界面上提供了兩種Folding功能:“Fold%” 和 “FoldPats”.


“Fold%”意思是,將采樣少于該百分比的函數(shù)調(diào)用信息條目“折疊”掉,并將其采樣時間累加到這些函數(shù)的調(diào)用者。這里“折疊”的意思其實應該說是隱藏掉。

“FoldPats”:與“Fold%”類似,會將符合條件的函數(shù)調(diào)用記錄“折疊”(或“隱藏”)掉,而它的采樣時間將會算在它的直接調(diào)用者頭上。而與“Fold%”不同的是它的條件不是“Inc%”的值,而是函數(shù)名稱中符合給定的匹配模式。同時,這個功能也支持指定多個模式,不同模式之間用";"(分號)隔開。

?

過濾(Filtering)

折疊功能能實現(xiàn)過濾的效果,只是被過濾的項的采樣時間會被累加到調(diào)用者身上。有時我們其實只想簡單地去掉一些我們不關心的函數(shù),同時也不需要保留它們的采樣時間。這時,我們可以采用“簡單粗暴”的過濾方式。

"IncPats":可以設置一個或多個模式(多個時用分號";"隔開),只有當函數(shù)名稱匹配一個或者多個給定的模式時,這個函數(shù)會被顯示在列表上,不匹配的會被從列表上刪除。

"ExcPats":可以設置一個或多個模式(多個時用分號";"隔開),只有當函數(shù)名稱匹配一個或者多個給定的模式時,這個函數(shù)會從列表上刪除。

因此,"IncPats"和"ExcPats"是一對反義詞,前者是“匹配則保留”,后者是“匹配則刪除”

這里說的模式,和上一篇文章中說的“通配符”是一樣的,或者可以參考幫助文件,或者在界面上對于的ToolTip提示中也有說明。

例如,以下圖例的設置中,在”IncPats“框中設置”Process% ConsoleApp7 (4108)“,起到只顯示我的程序”ConsoleApp7“的函數(shù)調(diào)用堆棧

時間范圍選擇

有時我們希望能只顯示某一段時間內(nèi)的函數(shù)調(diào)用情況,Perfview也提供時間范圍選擇的功能,在界面上提供了"Start"和"End"兩個輸入框。但要注意的是,這里的時間范圍不是以絕對的時間值(比如:2018/12/27 23:15:02),而是從開始收集時經(jīng)歷的毫秒數(shù)。假設你某個時間開始收集,5秒后停止,你想只看第3秒到第4秒的數(shù)據(jù),就可以在Start中設置"3000",在End中設置"4000",Perfview只顯示大于或等于3000毫秒小于或等于4000毫秒的函數(shù)調(diào)用數(shù)據(jù)。

不僅只提供文本框輸入值的功能,Perfview還提供一個更便利的時間范圍選擇功能,如下圖:

在”When“一列中,顯示了一串文本值,一共32個,由數(shù)字字母和一些符號組成。這串由符號組成的”字符串“代表了該函數(shù)在收集過程中被采樣數(shù)(可以理解成出現(xiàn)的頻繁度),具體來說,Pferview將每一個函數(shù)的”Inclusive“時間分成32"段",每一段的不同符號代表了該函數(shù)的”Inclusive“時間的比例值:(以下內(nèi)容是從幫助文檔中COPY的,稍作翻譯)

”_“ 代表在該段"時間段"內(nèi)沒有采樣(means no samples occurred in that bucket. )
”.“代表在該段"時間段"內(nèi)有0%到0.1%的Inclusive時間?(means that interval consumed between 0% and .1%. )
”o” 代表在該段"時間段"內(nèi)有1%?到 1%的Inclusive時間(means that interval consumed between .1% and 1%. )
”0” 代表在該段"時間段"內(nèi)有1% 到10%的Inclusive時間(means that interval consumed between 1% and 10%. )
”1” 代表在該段"時間段"內(nèi)有10%?到 20%的Inclusive時間(means that interval consumed between 10% and 20% )
...?
”9 代表在該段"時間段"內(nèi)有90% 到100%的Inclusive時間(means that interval consumed between 90% and 100% )
”A” 代表在該段"時間段"內(nèi)有100% 到110%的Inclusive時間(means that interval consumed between 100% and 110% )
...?
”Z” 代表在該段"時間段"內(nèi)有350% 到360%的Inclusive時間(means that interval consumed between 350% and 360% )
”*” 代表在該段"時間段"內(nèi)有超過360%的Inclusive時間(means that interval consumed over 360%)

”a” 代表在該段"時間段"內(nèi)有0% 到-10%的Inclusive時間(means that interval consumed between 0% and -10% )
”b” 代表在該段"時間段"內(nèi)有-10% 到-20%的Inclusive時間(means that interval consumed between -10% and -20% )
...?
”z” 代表在該段"時間段"內(nèi)有-250% 到-260%的Inclusive時間(means that interval consumed between -250% and -260% )
”*” 代表在該段"時間段"內(nèi)有超過 -260 %的Inclusive時間(means that interval consumed over -260 %)? 這個我不是很清楚,不是代表360%嗎??

另外,為什么會有些值是超過100%呢? 按文檔的解釋,應該是有多個可消耗的資源單元,例如200%代表某個函數(shù)在2個CPU上都有100%的INCLUSIVE時間,但我不確定是否理解正確。

?

那怎么在“When”欄中進行時間范圍選擇呢?

可以雙擊“When”欄的文本值,然后用鼠標光標選擇一段或整段文本(就像平時選擇一段文字進行ctrl+c ctrl+v一樣),然后右擊并在右鍵菜單中選擇“Set Time Range”,如圖:

?

這樣,該時間范圍的值就會被設置到"Start"和“End”中,并進行過濾。

?

以上便是Perfiveiw中的幾種數(shù)據(jù)過濾功能,還是那句話,這里涉及只介紹了基本的功能,更多更具體的功能說明,可以查看幫助文檔。

原文地址:?https://www.cnblogs.com/lwhkdash/p/10146947.html

.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com


總結

以上是生活随笔為你收集整理的使用PerfView监测.NET程序性能(四):折叠,过滤和时间范围选择的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。