微軟開源 GCToolkit,用于解析 GC 日志的工具
微軟的 Java 工程組宣布開源了 GCToolkit,一組用于分析 Java garbage collection (GC) 日志文件的庫。
根據(jù)介紹,GCToolkit 工具包將 GC 日志文件解析為離散事件,并提供了一個(gè)API 用于從這些事件聚合數(shù)據(jù),使用戶能夠?qū)τ衫占罩颈硎镜? Java 虛擬機(jī)(JVM)中托管內(nèi)存的狀態(tài)進(jìn)行任意復(fù)雜的分析。
GCToolkit 由 3 個(gè) Java 模塊組成,涵蓋 API、GC 日志文件解析器和基于 Vert.x 的 messaging backplane。
其中,API 模塊是 GCToolkit 的入口;它把使用解析器和 Vert.x 分析 GC 日志文件的細(xì)節(jié)隱藏在幾個(gè)方法調(diào)用中。解析器模塊是一個(gè)正則表達(dá)式和代碼的集合;微軟方面稱,經(jīng)過多年的發(fā)展,其已經(jīng)成為最強(qiáng)大的 GC 日志解析器。
基于 Vert.x 的 messaging backplane 使用了 2 條消息總線,第一條消息總線來自數(shù)據(jù)源。當(dāng)前的實(shí)現(xiàn)是從 GC 日志文件流式傳輸 log lines。這條總線上的監(jiān)聽器是將數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)換為代表 GC 周期或安全點(diǎn)的事件的解析器。然后這些事件被發(fā)布在事件總線上,事件總線上的監(jiān)聽器能夠接收和處理他們感興趣的事件。
GCToolkit 還提供了一個(gè)簡單的聚合器/聚合框架,用于捕獲和分析 GC 日志文件數(shù)據(jù)。
微軟 Kirk 稱,一個(gè)不理想的配置收集器會導(dǎo)致你的應(yīng)用程序需要更多的 CPU 和內(nèi)存,同時(shí)降低你的最終用戶體驗(yàn)。“挑戰(zhàn)在于,要優(yōu)化調(diào)整 GC,需要在幾個(gè)關(guān)注點(diǎn)之間建立一種微妙的平衡,如果沒有工具的幫助,所有這些關(guān)注點(diǎn)都不容易看到。GCToolKit 則有助于使這些變得更加容易。”
詳情可查看官方博客。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:微軟開源 GCToolkit,用于解析 GC 日志的工具
本文地址:https://www.oschina.net/news/154570/microsoft-gctoolkit-open-source