微软发布GCToolkit源代码

微软 日前有消息称 已经发布了其工具«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. 权利:您可以随时限制,恢复和删除您的信息。