使用 Cryostat 捕获性能指标

用户可以使用 Cryostat 收集关于内存分配和 CPU 使用率的性能指标。

关于 Cryostat

Cryostat 是用于容器化 Java 应用程序的 Java Flight Recorder 处理工具。

访问 Cryostat 网站 获取更多信息。

这没有使用异步分析,因为据我所知,异步分析在 OpenShift 内部不可用。因此,录制将存在 Safepoint 偏差问题。请参阅 在容器中分析 Java

打开 Cryostat

Cryostat 默认已部署。

运行 isup.sh shell 脚本时会显示 URL。

Minikube

假设命令 minikube ip 返回 192.168.39.39,则控制台在 http://cryostat.192.168.39.39.nip.io 上可用。

OpenShift

导航到安装 Keycloak 的项目的路由。打开为 cryostat 列出的 URL。

https://cryostat-aschwart-keycloak.apps.....openshiftapps.com

创建 Java Flight Recorder 录制

  • 打开 Cryostat 实例的网站。

  • 点击菜单项 录制

  • 选择一个目标 VM。

  • 点击 创建 按钮以创建新的录制,并按照对话框操作。

  • 作为模板,选择 Profiling 以捕获 CPU 和内存分析信息。

cryostat create

下载录制

录制完成后,直接下载它,或将其存档到 Cryostat 的持久卷中以便稍后下载。

cryostat download

访问 Grafana

当运行 minikube 时,访问 Grafana 不需要额外的凭据。当在 OpenShift 上运行时,Cryostat 文档包含有关如何检索密码的详细信息

分析 Java Flight Recorder 录制

IntelliJ Ultimate(社区版不足够)中打开录制,或使用 Java Mission Control (JMC) 版本 8。

在 IntelliJ Ultimate 中打开时,选择 Profiler 工具窗口,然后按 打开快照 按钮。选择 火焰图方法列表 选项卡。在右上角,用户可以切换 CPU 和内存分析结果。

在 JMC 中打开时,选择菜单项 方法分析内存。不幸的是,火焰图视图在 Fedora 上的 8.2.1 版本中似乎已损坏;它只是空白的。尽管如此,方法列表仍然提供了一些价值。