第 3 章 功能增强
Cryostat 2.1 包含根据 Cryostat 2.1 产品构建的功能增强。
归档 视图
Cryostat 2.1 web 控制台包含一个 归档 菜单项。选择此菜单项后,控制台中会显示一个归档记录表。这个表改进了它遵循 split 视图的 Cryostat 2.0 表,并使用 GraphQL 查询来填充表数据。
归档 菜单项上的归档记录表与在 记录 记录菜单中显示 的所有目标 JVM 的归档记录表不同。
图 3.1. Cryostat Web 控制台中的归档视图
cert-manager API
Cryostat 2.1 支持 1.5.3 版本,以便 Cryostat Operator 现在使用 cert-manager API 为目标 JVM 设置 TLS 证书。
创建目标 对话框
Cryostat 2.1 在 Create Target 对话框中禁用 Create 按钮,直到您在 Connection URL 字段中输入值为止。
另外,连接 URL 字段包括 JMX 服务 URL 的示例,当您需要在字段中输入有效 URL 时可以引用该 URL。
图 3.2. Dashboard 菜单项中的 Create Target 对话框
Cryostat Operator 服务自定义
Cryostat Operator 现在在其 YAML 配置文件中包含一个 spec.serviceOptions 属性,以便您可以更改 Operator 的以下服务选项:
- 注解
- 标签
- 端口号
- 服务类型
更改 default 服务选项值后,Cryostat Operator 会为以下组件创建服务:
- Cryostat 应用程序
- Grafana 应用程序
- 报告生成器微服务
Cryostat Operator 详情
OpenShift Container Platform (OCP) Web 控制台中的 Cryostat Operator 详情页面包括以下功能增强:
- 对 Cryostat Operator 的更新名称引用。在 Cryostat 2.1 发布后,C Cryostat 应用程序和 Cryostat Operator 在 OCP 上的名称类似。
- Cryostat 网站的链接
图 3.3. Cryostat Operator 详情页面的新改进
下载 Cryostat 文件行为
当您从 Cryostat 2.0 web 控制台下载文件时,如从 Active Recordings overflow 菜单中选择 Download Recording 项,您需要完成以下步骤:
- 将远程文件下载到默认 Web 浏览器的内存。
- 为 blob 文件项目创建本地对象 URL。
此行为将更正 Web 浏览器下载菜单中的 Cancel 选项的目的。如果要取消 JFR 二进制文件的下载操作,这可能会出现问题。
Cryostat 2.1 依赖于您的网页浏览器可用的 HTML 5 下载 属性来管理文件下载。此属性从 href 属性读取 anchor 元素,然后指示您的 Web 浏览器下载该文件。此下载操作可减少 Web 浏览器显示 Save File 菜单所需的时间,以便您可以选择取消下载操作,然后再将文件保存到本地系统。
文件上传功能
在 Cryostat 2.1 上的大型文件上传操作中,如从 Re-Upload Archived Recordings 对话框中重新上传存档记录,您可以点 Cancel 按钮停止文件上传操作。此时将显示 Progress 对话框中的 Upload,您应该选择继续取消操作。
图 3.4. 取消按钮,在 Re-Upload Archived Recordings 对话框中取消按钮
在取消操作完成后,您的 Web 浏览器会显示没有转移到 Cryostat 应用程序的 JFR 文件的大小。
JFR-datasource 容器
Cryostat 2.0 包含一个问题,其中 Cryostat Web 控制台不会在 About 页面中显示版本号。Cryostat 2.1 通过更改 codebase 来解决这个问题,以确保在此页面上显示版本号,而不考虑 jfr-datasource 或 grafana 仪表板配置设置。
图 3.5. 关于 Cryostat web 控制台中的页面
Netty 性能回归
使用 Vert.x BodyHandler 类的处理程序实施不再遇到 Cryostat 2.0 中无法识别的性能问题,如接受文件上传,其中标准 HTTP 表单上传由处理程序的预期。这些文件上传可能会导致 Vert.x 资源约束,因为处理程序可能会在 Vert.x 上的临时文件上传存储位置中永久存储这些文件。另外,Netty 的 POST 表单的解析可能会导致在处理 API 请求时大于预期的内存用量。
Cryostat 2.1 使用 Vert.x 版本 3.9.9,其中包括到版本 4.1.67。此升级改进了处理程序如何将文件上传到 Vert.x 的速度和逻辑。
Red Hat OpenShift 集群与外部 JVM 连接
Cryostat 2.0 存在一个已知问题:将带有 JVM 的 Red Hat OpenShift 集群连接到与 Cryostat 节点上运行的不同节点上的 JVM。
Cryostat 2.1 解决了新的 CRYOSTYAT_ENABLE_JDP_BROADCAST 环境变量,它被设置为 false。此环境变量的默认配置在 Red Hat OpenShift 上禁用 Java 发现协议(JDP),因此 Cryostat 2.1 现在可以连接到位于任何节点上的 JVM。
RecordingPostHandler 行为更改
Cryostat 2.1 增强了 RecordingPostHandler 实施,以便它现在可以按顺序解析 JFR 二进制文件。Cryostat 2.0 中的实现会解析数据,然后组成一个事件列表。
新实现有以下优点:
- 提供了一种简单方法
- 运行需要较少的资源
- 验证已上传的数据比之前的行为快
安全 菜单项
选择 Cryostat 2.1 实例上的 Security 菜单项后,您可以访问 Store JMX Credentials 标题。
图 3.6. 在安全菜单项中存储 JMX 凭证
Store JMX Credentials 标题提供了一种便捷的方式,可轻松查看存储 JMX 凭证的任何目标 JVM。
另外,在此标题项目中,您可以在特定目标 JVM 中添加存储的凭证。对于需要 JMX 验证的目标 JVM,在提示时必须提供您的用户名和密码。在尝试打开到目标 JVM 的 JMX 连接时,C Cryostat 可以使用存储的凭证。
setCachedTargetSelect implementation
在 Cryostat 2.1 发布后,当您登录到 Cryostat web 控制台并进入 Dashboard 时,您从之前的会话中选择的 JVM 将显示为 Target JVM 下拉列表下的默认值。即使 Cryostat 不再可以连接到这个 JVM,也会发生这种情况。
Cryostat 2.1 通过在每个新会话开始时刷新目标 JVM 列表来解决这个问题,然后仅列出 JVM 可以建立连接的 JVM。
您可以通过导航到 Settings > Auto-Refresh,为您的 Cryostat web 控制台配置刷新周期。在提供的字段中,您可以指定一个以秒为单位、分钟或小时的值。您必须选中" 启用 "复选框才能完成配置。
GUI masthead 中的用户名
Cryostat 2.1 从 /v2.1/auth 端点获取用户名,因此它可以在 Cryostat Web 控制台 masthead 中显示用户名。在 Cryostat 2.0 中,只有在在基本身份验证模式中启动 Cryostat 实例时,才能查看您的用户名。
图 3.7. 在 Cryostat web 控制台的 masthead 中显示的用户名
WebSocket API
Cryostat 2.1 更新其 WebSocket API,以支持无限 WebSocket 客户端连接。在此发行前,WebSocket API 只能支持最多 64 个客户端连接。
对于 Cryostat 2.1,WebSocket API 现在会自动收到有关使用相同单向推送通知频道(NC)频道的、无限连接客户端执行的操作信息。