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

Arthas診斷(新版)

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

前提條件

說明 僅應用監控專家版支持Arthas診斷功能。
  • 新開通EDAS的賬號或15天內未使用舊版Arthas診斷功能的賬號僅支持使用新版Arthas診斷功能。
  • ARMS Agent版本為v2.7.1.3或以上。
  • 已接入應用監控。具體操作,請參見應用監控概述
  • 應用的編程語言需要為Java。
  • 3658端口未被占用。

背景信息

EDAS提供的Arthas診斷功能主要用于補齊EDAS在實時診斷方面的能力。EDAS的Arthas診斷功能包括以下幾種類型:
  • JVM概覽:查看當前JVM進程實時的內存使用情況、系統信息、系統變量和環境變量。
  • 線程分析:查看當前JVM進程的線程耗時情況以及指定線程的實時方法棧。
  • 方法執行分析:抓取任意方法(非JDK方法)滿足指定條件的一次執行記錄,記錄該方法的參數、異常、返回值以及方法內部各個方法執行耗時。
  • 對象查看器:查看任意類的某個實例實時的屬性取值情況。
  • 實時看板:常見組件的實時看板,例如,Druid連接池的實時看板可以看到連接池的配置、使用情況以及SQL執行耗時情況。
  • 性能分析:對CPU耗時、內存分配等對象進行一定時間的采樣并生成相應的火焰圖。
  • Arthas Shell:通過命令行方式使用Arthas診斷。

開通Arthas診斷功能

  1. 登錄ARMS控制臺,在左側導航欄選擇應用監控 > 應用列表
  2. 應用列表頁面頂部選擇目標地域,然后單擊目標應用名稱。
    說明 語言列顯示Java圖標圖標的應用為接入應用監控的應用,顯示-圖標的應用為接入可觀測鏈路 OpenTelemetry 版的應用。
  3. 在左側導航欄中單擊應用設置,并在右側單擊自定義配置頁簽。
  4. 自定義配置頁簽的Arthas監控區域,打開Arthas開關,根據需求選擇是否僅對部分IP進行Arthas診斷,并添加目標IP。
    自定義配置-Arthas監控
  5. 自定義配置頁簽左下角單擊保存

查看Arthas診斷信息

  1. 登錄EDAS控制臺

  2. 在左側導航欄,單擊應用管理 > 應用列表,在頂部菜單欄選擇地域并在頁面上方選擇微服務空間,在集群類型下拉列表中選擇K8s集群,然后單擊目標應用名稱

  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. 在搜索到的類中選擇需要診斷的類,然后在右側方法選擇框選取該類的某個方法,單擊確定
    頁面將會顯示EDAS隨機抓取的該方法的某一次執行的信息。新版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診斷-實時看板

性能分析

性能分析支持對CPU耗時、內存分配等對象進行一定時間的采樣并生成相應的火焰圖,幫助您快速定位應用的性能瓶頸。

  1. 在Arthas診斷頁面,單擊性能分析頁簽。
  2. 性能分析頁簽下方,單擊新建火焰圖
  3. 新建火焰圖對話框,選擇火焰圖類型,輸入采樣時間和備注信息,然后單擊確認
    參數描述示例值
    火焰圖類型采樣對象的類型。取值:
    • cpu耗時
    • 內存分配
    • 鎖耗時
    • itimer
    cpu耗時
    輸入采樣時間(單位:秒)采樣的時長。取值:10~1800。30
    性能分析頁簽下方顯示已創建的火焰圖的任務信息,包括開始時間、采樣時間、備注信息、火焰圖類型和任務狀態。Arthas診斷-性能分析
  4. 性能分析頁簽下方,找到任務記錄,在其右側任務狀態,單擊查看火焰圖,根據頁面提示下載SVG格式的火焰圖文件,然后在瀏覽器中打開。
    火焰圖

Arthas Shell

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

Arthas Shell