JProfiler 11.0重要新功能:
發(fā)送請求的HTTP探測
遠(yuǎn)程追蹤HTTP請求
改進(jìn)了異步呼叫追蹤
對KotlinCoroutines的異步追蹤
全新的明暗外觀和感覺基于IntelliJIDEA,支持Windows和Linux的HighDPI
JPController的非交互模式
IDE集成的自動過濾器檢測
分配抽樣
改進(jìn)了會話設(shè)置
改進(jìn)了對IBM和OpenJ9 JVM的支持
SSH連接改進(jìn)
Heap walker改進(jìn)
支持Java 12 +分析
已添加傳出請求的HTTP探測。同時(shí)測量同步和異步調(diào)用。支持的HTTP客戶端包括:
java.net.URL連接
Java HTTP客戶端(Java 11 +)
Apache Http客戶端 4.x
Apache異步Http客戶端4.x
OkHttp 3.9 +
Jersey(JAX-RS)異步客戶端2.x
RestEasy異步客戶端3.x
CXF異步客戶端3.1.1+

您可以選擇是將請求主體的消耗包括在時(shí)間度量中,還是在響應(yīng)代碼可用時(shí)停止計(jì)時(shí)。此設(shè)置可以隨時(shí)更改。

與其他探測一樣,您可以選擇在調(diào)用樹視圖中注釋HTTP請求。默認(rèn)情況下,HTTP請求的描述是不帶查詢的URL,可以選擇保留探針事件視圖的完整URL?;蛘?,您可以配置一個(gè)腳本來構(gòu)造HTTP請求的描述,這對于獲得有用的熱點(diǎn)可能很重要。

現(xiàn)在可以在JVM之間追蹤HTTP調(diào)用。在服務(wù)器端使用受支持的HTTP客戶端和servlet容器時(shí),調(diào)用站點(diǎn)和執(zhí)行站點(diǎn)可以雙向?qū)Ш健?/span>

調(diào)用站點(diǎn)會得到一個(gè)特殊的圖標(biāo)和一個(gè)超鏈接,顯示服務(wù)器JVM中的執(zhí)行站點(diǎn),必須在單獨(dú)的窗口中對其進(jìn)行概要分析并打開,以便導(dǎo)航工作。

每個(gè)調(diào)用站點(diǎn)分別記錄執(zhí)行站點(diǎn),這樣您就可以單獨(dú)分析不同類型的請求。每個(gè)執(zhí)行站點(diǎn)由一個(gè)插入到調(diào)用樹中的特殊節(jié)點(diǎn)表示。

異步執(zhí)行可以內(nèi)聯(lián)。調(diào)用樹視圖和熱點(diǎn)視圖現(xiàn)在都有一個(gè)用于此目的的“內(nèi)聯(lián)異步執(zhí)行”調(diào)用樹分析。如果異步追蹤處于活動狀態(tài),則調(diào)用樹上方的狀態(tài)顯示可以方便地訪問創(chuàng)建內(nèi)聯(lián)視圖的操作。另外,調(diào)用樹中截獲異步調(diào)用的節(jié)點(diǎn)具有相應(yīng)的超鏈接。

在調(diào)用樹分析中,“異步執(zhí)行”節(jié)點(diǎn)顯示來自執(zhí)行站點(diǎn)的調(diào)用樹。默認(rèn)情況下,異步節(jié)點(diǎn)下面的時(shí)間不會添加到樹中的父節(jié)點(diǎn)中,以顯示調(diào)用的非阻塞性質(zhì)。

您還可以選擇添加時(shí)間,就像呼叫被阻塞一樣。這對于分析哪些調(diào)用堆棧導(dǎo)致大多數(shù)時(shí)間花費(fèi)在異步執(zhí)行站點(diǎn)上很有用。

當(dāng)異步追蹤沒有被激活時(shí),JProfiler會檢測在JVM中發(fā)生了哪些異步追蹤類型,并在狀態(tài)欄中向您顯示它們。只需單擊一次,即可激活追蹤。

要快速查看激活了哪些異步追蹤類型,請將鼠標(biāo)懸停在狀態(tài)欄圖標(biāo)上,然后單擊它以調(diào)用配置對話框。

如果異步調(diào)用源自未經(jīng)歸檔的調(diào)用堆棧,那么默認(rèn)情況下不會記錄這些調(diào)用,以避免將分析與框架內(nèi)部搞混。如果檢測到此類已篩選的異步調(diào)用,則異步狀態(tài)欄將提供為這些調(diào)用打開錄制的操作。

已添加對追蹤Kotlin Coroutines的支持。Coroutines是以多平臺方式使用Kotlin進(jìn)行異步編程的基礎(chǔ)。如果沒有專用的工具支持,那么涉及Coroutines的調(diào)用樹將被高度分割,并且會丟失很多關(guān)于因果關(guān)系的信息。

當(dāng)激活對Kotlin Coroutines的追蹤時(shí),“內(nèi)聯(lián)異步執(zhí)行”調(diào)用樹分析會生成一個(gè)顯示跨越掛起邊界的調(diào)用堆棧的調(diào)用樹。如果應(yīng)用于熱點(diǎn)視圖,調(diào)用樹分析將顯示在第一個(gè)掛起方法調(diào)用時(shí)終止的回溯。

Kotlin協(xié)同工作追蹤還測量協(xié)同工作暫停的時(shí)間,并在內(nèi)聯(lián)調(diào)用樹的單獨(dú)節(jié)點(diǎn)中顯示這些時(shí)間。這需要確定協(xié)同程序執(zhí)行總共需要多長時(shí)間。如果只關(guān)心Coroutines的實(shí)際處理時(shí)間,則可以隱藏掛起時(shí)間。

JProfiler有新的光明和黑暗的外觀和感覺。外觀和感覺基于IntelliJ IDEA Darcula的外觀和感覺及其光導(dǎo)數(shù)。在Windows、Linux和MacOS上,這些外觀和感覺都支持HiDPI。在Windows和MacOS上,JProfiler與“JetBrains Runtime”OpenJDK捆綁在一起,后者比默認(rèn)JDK具有更好的HiDPI支持。

外觀和感覺的默認(rèn)設(shè)置現(xiàn)在是“自動”,如果操作系統(tǒng)處于暗模式,則選擇暗主題,否則選擇暗主題。此檢測目前在MacOS 10.14+和Windows 10 Build 1809+上實(shí)現(xiàn)。

已添加JPController的非交互模式。JPController是用于控制記錄和保存快照的命令行可執(zhí)行文件。除了現(xiàn)有的交互模式之外,您現(xiàn)在還可以自動分析會話,而無需手動輸入。
對于自動調(diào)用,您可以傳遞[pid | host:port]來選擇一個(gè)已分析的JVM以及非交互參數(shù)。從stdin或用--command文件參數(shù)指定的命令文件讀取命令列表。
用于此非交互模式的命令與JProfiler MBean中的方法名相同。它們需要相同數(shù)量的參數(shù),用空格分隔。此外,還提供了sleep命令。
例如,命令序列可能如下所示:
addBookmark "Hello world"
startCPURecording true
sleep 10
stopCPURecording
saveSnapshot /path/to/snapshot.jps
自動檢測IDE集成的調(diào)用樹過濾器。對于新的會話,IntelliJ IDEA、eclipse和NetBeans的IDE集成現(xiàn)在掃描所分析項(xiàng)目的源包,并相應(yīng)地設(shè)置包含過濾器。與默認(rèn)的獨(dú)占篩選器相比,包含篩選器產(chǎn)生的結(jié)果要好得多。
如果所有具有可編輯源文件的包都具有公共前綴包,則將使用該包,否則將單獨(dú)添加包含類的所有頂級包。
此檢測將僅在第一次分析項(xiàng)目時(shí)執(zhí)行,并且不會丟失調(diào)用樹篩選器設(shè)置中的任何手動更改。在“會話設(shè)置”對話框的“定義篩選器”選項(xiàng)卡上,可以使用“重置”按鈕強(qiáng)制重復(fù)此計(jì)算。

分配記錄的采樣大大降低了分配記錄的高開銷。默認(rèn)情況下,每記錄10次分配,與記錄所有分配相比,這大致將開銷減少到1/10。

對于實(shí)時(shí)會話,可以在不丟失任何數(shù)據(jù)的情況下動態(tài)調(diào)整采樣率。

會話設(shè)置已改進(jìn)。先前單獨(dú)的“Profiling settings”對話框已集成到新會話設(shè)置對話框中。
您現(xiàn)在可以輕松地將其他會話的選定部分復(fù)制到當(dāng)前會話配置中。

現(xiàn)在,您可以從“default session”對話框配置默認(rèn)會話。所有新會話都以這些默認(rèn)值開始。

在默認(rèn)會話中,現(xiàn)在可以為新會話禁用初始問題,即是否應(yīng)使用采樣或檢測。

如果連接到JVM的配置文件已經(jīng)使用了不同的會話設(shè)置,JProfiler將為您提供保留以前會話設(shè)置的選項(xiàng)。啟動分析會話后,可以在會話設(shè)置對話框中檢查這些以前的設(shè)置。這種機(jī)制消除了耗時(shí)的類轉(zhuǎn)換。

在啟動時(shí)應(yīng)用分析設(shè)置而不使用JProfiler UI更加方便。在-agentpath VM參數(shù)中使用“id”或“config”選項(xiàng)時(shí),您不再需要指定現(xiàn)在隱含的“nowait”選項(xiàng)。如果配置文件只包含一個(gè)會話,則不再需要“id”選項(xiàng)。用于分析的典型VM參數(shù)現(xiàn)在將如下所示:
-agentpath:/opt/jprofiler/bin/linux-x64/libjprofilerti.so=config=~/jprofiler_config.xml
這個(gè)字符~現(xiàn)在替換為所有平臺上的主目錄,JProfiler config文件的默認(rèn)名稱已更改為jprofiler_config.xml,以減少通用性。
在沒有JProfiler UI的遠(yuǎn)程計(jì)算機(jī)上配置分析會話或脫機(jī)分析會話時(shí),有時(shí)需要檢查配置文件并進(jìn)行手動更改。在這個(gè)版本中,配置文件格式已經(jīng)得到了改進(jìn),通過省略默認(rèn)設(shè)置并使配置的所有方面都易于理解,從而使其不再那么冗長。
浮動許可現(xiàn)在可以通過SSH工作。具有浮動許可證的客戶現(xiàn)在可以使用與配置的JVM的SSH連接相同的配置來配置與浮動許可證服務(wù)器的SSH連接。

已將char和byte數(shù)組的表格顯示添加到堆查詢器的傳出引用視圖中?,F(xiàn)在可以更容易地解釋大量數(shù)據(jù)。
此外,char數(shù)組現(xiàn)在在實(shí)例旁邊顯示其字符串值。

已實(shí)現(xiàn)調(diào)用樹中的縮短包名稱。此可選設(shè)置可在“視圖設(shè)置”對話框中配置。

對于具有深包結(jié)構(gòu)的代碼基,縮短的包名稱減少了顯示文本的數(shù)量,并使其更容易集中于類和方法名稱。

改進(jìn)了對IBM和OpenJ9 JVM的支持。此版本在許多領(lǐng)域帶來了與HotSpot JVM的功能對等性:
支持堆查詢器中的原始數(shù)據(jù)
現(xiàn)在支持堆查詢器中的所有檢查
IBM 8+JVM支持文件和進(jìn)程探測
“保存HPROF快照”用戶界面操作和“創(chuàng)建HPROF堆轉(zhuǎn)儲”觸發(fā)操作現(xiàn)在生成PHD轉(zhuǎn)儲
支持分析Java 12+。此外,當(dāng)從JProfiler UI啟動會話時(shí),現(xiàn)在支持所有OpenJDK變體。
京ICP備09015132號-996 | 違法和不良信息舉報(bào)電話:4006561155
© Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號豪柏大廈C2座11層1105室
北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動畫