微軟發布GCToolkit源代碼

Microsoft微軟 日前有消息稱 已經發布了其工具«GCToolkit»的源代碼,這是一組解析Java垃圾收集日誌文件的庫,所有GCToolkit代碼都用它 可用 在 MIT 許可下的 GitHub 上。

GCToolkit 由三個 Java 模塊組成 涵蓋 API、GC 日誌文件解析器和基於 Vert.x 工具包的消息背板,用於在 JVM 上構建響應式應用程序。 使用此實用程序,用戶可以創建對 JVM 中託管內存狀態的任意複雜掃描。

顧名思義,這是一組用於解析 Java 垃圾收集 (GC) 日誌文件並在單獨的事件中解析它們的庫。 公開 API 以提高參與度 通過工具包和數據聚合,這 允許用戶創建對 JVM 託管內存狀態的任意複雜分析。

據該團隊介紹,這是 GCToolkit 中的用戶入口點,它在一些方法調用中隱藏了內部模塊的詳細信息。 除了 API,還有另外兩個模塊:解析模塊 和 Vert.x。 解析器模塊基於一組正則表達式和編寫的代碼 被認為是可用的最強大的 GC 日誌分析器。

消息後端基於 Vert.x 使用兩個消息總線: 前者從數據源傳輸數據。 當前實現從 GC 日誌文件傳遞日誌行。 此總線的使用者是分析器,它們將來自數據源的數據轉換為表示 GC 週期或安全點的事件。 這些事件發佈在第二條消息總線上:事件總線。 然後可以通知事件總線訂閱者並處理他們感興趣的事件。

解析器發出離散的 JVM 事件,允許您編寫代碼來捕獲和分析來自這些事件的數據。 為了方便對 GC 日誌文件的數據捕獲和分析,GCToolkit 提供了一個簡單的聚合框架。 用戶想要捕獲的數據類型或他們想要執行的分析類型由用戶自行決定。 例如,為了捕獲暫停事件以分析堆佔用情況,聚合器捕獲事件,提取相關數據,並將數據傳遞給聚合。

這將數據集中在有意義的分析中,例如垃圾收集後的總堆佔用率。 結果數據可以以圖形、表格或其他更用戶友好的格式呈現。 更重要的是,據該團隊稱,次優的收集器配置將導致應用程序需要更多 CPU 和內存,同時降低最終用戶體驗。 換句話說,一個調優不當的收集器通常意味著更昂貴的運行時間和不滿意的用戶。

隨著微軟對 Java 平台的興趣日益濃厚, 重點 在開源中,它也增加了 Java 社區的好處。 在為將 macOS M1 和 Windows 移植到 Arm 做出重大貢獻後,微軟通過推出自己的 OpenJDK 版本並加入 Eclipse Adoptium 工作組(前身為 AdoptOpenJDK)重申了對 OpenJDK 的承諾。

通過使 GCToolkit 開源, Microsoft 正試圖提供一種更好的方式來查看 JVM 的內部結構,了解它如何處理 GC 和內存分配。 更好的可見性允許更好的配置,這對應用程序的最終用戶和負責其管理的技術人員都有好處。

簡單的 API 和易於使用的輸出機制有望通過提供各種機制來分析、提取和可視化數據來改進讀取 GC 日誌的任務。

來源: https://devblogs.microsoft.com


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。