日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Arthas診斷

Arthas是診斷Java領域線上問題的利器,利用字節碼增強技術,可以在不重啟JVM進程的情況下,查看程序的運行情況。

ARMS 100%集成Arthas的所有能力,且相比自行掛載使用有如下優勢:

  • 不依賴JDK環境,您無需下載安裝Arthas,可按需批量一鍵開啟/關閉。

  • 常用功能白屏化,免去記命令、查命令、寫表達式的煩惱。

  • ARMS上下文關聯,通過Trace命令可以看到ARMS的鏈路TraceID。

前提條件

說明
  • 僅應用監控專家版支持Arthas診斷功能。

  • Arthas診斷功能建議只在排查問題時開啟,在日常使用時建議關閉。

  • ARMS Agent版本為v2.7.1.3或以上。

  • 已接入應用監控。具體操作,請參見應用監控概述。

  • 應用的編程語言需要為Java。

背景信息

ARMS提供的Arthas診斷功能主要用于補齊ARMS在實時診斷方面的能力。ARMSArthas診斷功能包括以下幾種類型:

  • JVM概覽:查看當前JVM進程實時的內存使用情況、系統信息、系統變量和環境變量。

  • 線程耗時分析:查看當前JVM進程的線程耗時情況以及指定線程的實時方法棧。

  • 方法執行分析:抓取任意方法(非JDK方法)滿足指定條件的一次執行記錄,記錄該方法的參數、異常、返回值以及方法內部各個方法執行耗時。

  • 對象查看器:查看任意類的某個實例實時的屬性取值情況。

  • 實時看板:常見組件的實時看板,例如,Druid連接池的實時看板可以看到連接池的配置、使用情況以及SQL執行耗時情況。

  • Arthas Shell:通過命令行方式使用Arthas診斷。

說明

Arthas性能分析已經全面升級為持續剖析功能,使用更加便捷,功能更加強大,可常態化開啟,隨時使用。

持續剖析功能可以有效發現Java程序中因CPU、內存和IO導致的瓶頸問題,并且按照方法名稱、類名稱和行號進行細分統計,最終協助開發者優化程序、降低延遲、增加吞吐量、節約成本。更多信息,請參見接入持續剖析功能。

開通Arthas診斷功能

  1. 登錄ARMS控制臺,在左側導航欄選擇應用監控 > 應用列表

  2. 應用列表頁面頂部選擇目標地域,然后單擊目標應用名稱。

    說明

    語言列的圖標含義如下:

    Java圖標:接入應用監控的Java應用。

    image:接入應用監控的Golang應用。

    image:接入應用監控的Python應用。

    -:接入可觀測鏈路 OpenTelemetry 版的應用。

  3. 在左側導航欄中單擊應用設置,并在右側單擊自定義配置頁簽。

  4. 自定義配置頁簽的Arthas監控區域,打開Arthas開關,根據需求選擇是否僅對部分IP進行Arthas診斷,并添加目標IP。

    自定義配置-Arthas監控

  5. 自定義配置頁簽左下角單擊保存。

查看Arthas診斷信息

  1. 登錄ARMS控制臺,在左側導航欄選擇應用監控 > 應用列表。

  2. 應用列表頁面頂部選擇目標地域,然后單擊目標應用名稱。

    說明

    語言列的圖標含義如下:

    Java圖標:接入應用監控的Java應用。

    image:接入應用監控的Golang應用。

    image:接入應用監控的Python應用。

    -:接入可觀測鏈路 OpenTelemetry 版的應用。

  3. 在左側導航欄,選擇應用診斷 > Arthas診斷

  4. Arthas診斷頁面頂部下拉列表選擇待診斷的應用實例。

    • 若該實例的Agent版本未升級至2.7.1.3或以上,頁面會提示您需要先升級Agent。

    • 若該實例的Agent版本已升級至2.7.1.3或以上,頁面會顯示該實例的Arthas診斷信息。

JVM概覽

JVM概覽支持查看應用的JVM相關信息,包括JVM內存、操作系統信息、變量信息等,幫助您了解JVM的總體情況。

Arthas診斷頁面默認顯示JVM概覽頁簽,您可以在JVM概覽頁簽查看以下信息:

  • JVM內存:JVM內存的相關信息,包括堆內存使用情況、非堆內存使用情況、GC情況等。JVM內存

  • 操作系統信息:操作系統的相關信息,包括平均負載情況,操作系統名稱、操作系統版本、Java版本等。操作系統信息

  • 變量信息:變量的相關信息,包括系統變量和環境變量。變量信息

線程耗時分析

線程耗時分析支持顯示該應用的所有線程和查看線程的堆棧信息,幫助您快速定位耗時較高的線程。

  1. Arthas診斷頁面,單擊線程耗時分析頁簽。

    線程耗時分析頁簽會實時獲取當前JVM進程的線程耗時情況,并將相似線程聚合。新版Arthas診斷-線程耗時分析

  2. 單擊線程左側的+圖標展開線程明細,可以查看線程的ID、CPU使用率和狀態。

  3. 如需查看目標線程的堆棧信息,您可以在目標線程右側的操作列,單擊查看實時堆棧。

    堆棧詳情

方法執行分析

方法執行分析支持抓取方法的某一次執行的耗時、入參、返回值等信息和鉆入,幫助您快速定位導致慢調用的根本原因,以及問題線下無法復現或日志缺失等場景。

  1. Arthas診斷頁面,單擊方法執行分析頁簽。

  2. 方法執行分析頁簽的搜索框中輸入類名的關鍵詞,然后單擊搜索圖標。

  3. 在搜索到的類中選擇需要診斷的類,然后在右側方法選擇框選取該類的某個方法,單擊確定。

    頁面將會顯示ARMS隨機抓取的該方法的某一次執行的信息。新版Arthas診斷-方法執行分析

    • 左側執行堆棧區域顯示診斷方法的內部執行記錄。

      • 如需鉆入某個內部方法,在其右側操作列,單擊鉆入。

      • 如需查看方法源碼,單擊執行堆棧區域頂部的查看方法源碼

        如下圖所示,每一次內部方法的執行耗時都會以注釋的方式顯示在源代碼中。方法源碼

    • 右側方法執行結果區域顯示方法執行的參數值、返回值、異常、成員變量以及此次方法執行的TraceID。

    • 右側設置執行條件區域執行以下步驟,可以設置方法執行條件來抓取滿足條件的方法執行記錄。

      1. 選擇當前方法中的一個重載方法。

      2. 請選擇初始過濾key下拉框選擇初始過濾Key的類型,單擊向左箭頭圖標。

        初始過濾Key的類型:

        • params[n]:方法的第n個參數。

        • returnObj:方法的返回值。

        • 方法執行耗時:方法執行的耗時。

        • 是否拋出異常:方法執行時是否拋出異常。

        說明

        如果選取的初始過濾Key為嵌套類型,則還需要繼續選擇該嵌套類型的內部字段,直到選擇字段為基礎類型。

      3. 選擇過濾條件。

      4. 輸入過濾值。

      5. 單擊添加

        當前過濾條件區域會顯示已添加的過濾條件。

        設置執行條件

      6. 在左側執行堆棧區域右上角單擊刷新圖標,系統會按照設置的條件重新抓取一次方法執行。

對象查看器

對象查看器用于查看一些單例對象當前的狀態,用于排查應用狀態異常問題,例如應用配置、黑白名單、成員變量等。

  1. Arthas診斷頁面,單擊對象查看器頁簽。

  2. 對象查看器頁簽的搜索框中輸入類名的關鍵詞,然后單擊搜索圖標。

  3. 在搜索到的類中選擇需要診斷的類,然后在右側實例選擇框選擇該類的某個實例,單擊確定。

    頁面則會顯示該實例中當前字段的實時取值。Arthas診斷-對象查看器

    • 對于簡單類型的字段,在左側對象字段實時取值區域的詳情列會是字段的取值。

    • 對于復制類型的字段,在左側對象字段實時取值區域的詳情列單擊點擊查看詳情,在右側字段詳情區域查看字段取值詳情。

      字段詳情區域僅支持將復雜類型字段反序列化一層進行展示,如果需要查看更具體的數據,單擊點擊查看字段更詳細的數據。

實時看板

實時看板用于查看系統中用到的關鍵組件的實時狀態,例如查看數據庫連接池的使用情況、HTTP連接池的使用情況等,有利于排查資源類型的問題。

  1. Arthas診斷頁面,單擊實時看板頁簽。

  2. 實時看板頁簽的下拉列表中選擇一個看板,然后在右側實例選擇框選擇該看板的一個實例,單擊添加到看板

    頁面顯示該看板的實時情況。如下圖顯示為一個Druid連接池的實時狀態信息,包括基礎配置、連接池狀態、執行耗時分布等。Arthas診斷-實時看板

Arthas Shell

通過命令行方式自定義Arthas診斷。

Arthas Shell