使用 Cryostat 捕获性能指标

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

关于 Cryostat

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

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

这没有使用异步分析,因为据我所知,这在 OpenShift 内部不可用。因此,记录将存在安全点偏差问题。请参阅 在容器中分析 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。

  • 点击按钮 创建 以创建新记录并按照对话框进行操作。

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

cryostat create

下载记录

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

cryostat download

访问 Grafana

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

分析 Java Flight Recorder 记录

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

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

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