JProfiler 11.0重要新功能:
發(fā)送請求的HTTP探測
遠程追蹤HTTP請求
改進了異步呼叫追蹤
對KotlinCoroutines的異步追蹤
全新的明暗外觀和感覺基于IntelliJIDEA,支持Windows和Linux的HighDPI
JPController的非交互模式
IDE集成的自動過濾器檢測
分配抽樣
改進了會話設(shè)置
改進了對IBM和OpenJ9 JVM的支持
SSH連接改進
Heap walker改進
支持Java 12 +分析
已添加傳出請求的HTTP探測。同時測量同步和異步調(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+

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

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

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

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

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

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

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

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

當(dāng)異步追蹤沒有被激活時,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進行異步編程的基礎(chǔ)。如果沒有專用的工具支持,那么涉及Coroutines的調(diào)用樹將被高度分割,并且會丟失很多關(guān)于因果關(guān)系的信息。

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

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

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+上實現(xiàn)。

已添加JPController的非交互模式。JPController是用于控制記錄和保存快照的命令行可執(zhí)行文件。除了現(xiàn)有的交互模式之外,您現(xiàn)在還可以自動分析會話,而無需手動輸入。
對于自動調(diào)用,您可以傳遞[pid | host:port]來選擇一個已分析的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)在掃描所分析項目的源包,并相應(yīng)地設(shè)置包含過濾器。與默認(rèn)的獨占篩選器相比,包含篩選器產(chǎn)生的結(jié)果要好得多。
如果所有具有可編輯源文件的包都具有公共前綴包,則將使用該包,否則將單獨添加包含類的所有頂級包。
此檢測將僅在第一次分析項目時執(zhí)行,并且不會丟失調(diào)用樹篩選器設(shè)置中的任何手動更改。在“會話設(shè)置”對話框的“定義篩選器”選項卡上,可以使用“重置”按鈕強制重復(fù)此計算。

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

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

會話設(shè)置已改進。先前單獨的“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è)置的選項。啟動分析會話后,可以在會話設(shè)置對話框中檢查這些以前的設(shè)置。這種機制消除了耗時的類轉(zhuǎn)換。

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

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

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

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

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