microsoft/gctoolkit
GitHub: microsoft/gctoolkit
GCToolKit 是微软开源的一组 Java 库,用于将 HotSpot 垃圾回收日志解析为结构化事件并提供聚合分析 API,帮助开发者深入理解 JVM 内存管理行为。
Stars: 1295 | Forks: 171
# Microsoft GCToolKit
GCToolKit 是一组用于分析 HotSpot Java 垃圾回收 (GC) 日志文件的库。该工具包将 GC 日志文件解析为独立的事件,并提供了一个 API 用于聚合这些事件中的数据。这使得用户能够对垃圾回收日志所代表的 Java 虚拟机 (JVM) 中的托管内存状态进行任意且复杂的分析。
欲了解更多详情,请阅读我们的[发布博客文章](https://devblogs.microsoft.com/java/introducing-microsoft-gctoolkit/)。
[](https://github.com/microsoft/gctoolkit/actions/workflows/maven.yml)
## 简介
Java 虚拟机 (JVM) 中的托管内存由 3 个主要部分组成:
1. 称为 Java heap 的内存缓冲区
2. 负责将数据存入 Java heap 的分配器
3. 垃圾回收 (GC)。
虽然 GC 负责回收 Java heap 中不再使用的内存,但该术语通常被用作内存管理的委婉说法。关于 _调优 GC_ 或 _调优收集器_ 的表述常常被使用,人们通常理解这指的是调优 JVM 的内存管理子系统。调优 GC 的遥测数据的最佳来源是 GC 日志,而 GCToolKit 通过提供解析器、模型和用于构建分析的 API,在使这项任务变得更简单方面发挥了作用。您可以运行 Maven 项目 [HeapOccupancyAfterCollectionSummary 示例](./sample/README.md) 作为对此的一个说明。
## 用法
为了使用该库,您需要将其依赖项添加到您的项目中。我们在下面提供了 Maven 的说明。
### Maven 坐标
[](https://search.maven.org/search?q=g:%22com.microsoft.gctoolkit%22%20AND%20a:%22gctoolkit-api%22)
GCToolKit 的构件位于 [Maven Central](https://search.maven.org/search?q=g:com.microsoft.gctoolkit) 中。随后,您需要根据需要在 `dependencyManagement` 和/或 `dependencies` 部分将 `api`、`parser` 和 `vertx` 模块添加到您的项目中。
```
...
com.microsoft.gctoolkit
api
3.0.4
com.microsoft.gctoolkit
parser
3.0.4
com.microsoft.gctoolkit
vertx
3.0.4
...
```
### 示例
请参阅示例项目:[sample/README](./sample/README.md)
### 测试覆盖率报告
**核心 API 覆盖率** 
**核心 :: Parser**
**核心 :: Vertx**
## 许可证
Microsoft GCToolKit 采用 [MIT](https://github.com/microsoft/gctoolkit/blob/master/LICENSE) 许可证授权。
标签:JS文件枚举, JVM, 垃圾回收, 域名枚举, 性能监控, 运维工具