博客

来自 ej-technologies 的产品新闻、更新与见解。

通过 RSS 阅读,通过 电子邮件 订阅,或在 上关注我们。

JProfiler 16:智能体 Java 应用性能分析

2026-02-27
作者:Ingo Kegel

AI 为什么需要性能分析

传统性能分析关注的是 JVM 的内部执行,例如方法执行时长、内存分配和线程同步问题。JProfiler 过去的一项主要创新立足于其探针:对 HTTP、JDBC 和 RPC 调用等更高层级系统的测量。随着 LangChain4j 和 Spring AI 等 LLM 框架的出现,新的性能挑战随之而来。LLM 交互会引入高度不确定的延迟和可观的资源成本,而标准 CPU 分析无法将其置于上下文中加以解读。JProfiler 在弥合这一差距方面具有得天独厚的优势:它将 AI 交互视为新探针的数据来源。

AI 探针:LLM 工作流的可观测性

JProfiler 16 的核心是全新的 AI 探针。它提供了一种观察应用程序如何与 LLM 交互的途径,并交付具备上下文感知能力的指标,帮助您优化两个重要方面:性能与成本。

以往探针只关注事件的持续时间,而 JProfiler 16 引入了可切换的主指标。对于 AI 探针而言,这些主指标包括输入 token 和输出 token。这使您能够找出哪些提示词正在推高成本或造成延迟飙升。

在探针事件视图中,您可以查看每个提示词的完整内容。这可能是一笔非常庞大的数据量。我们借此机会在本版本中将 JProfiler 的事件系统从最初作为调试辅助工具的角色,升级为基于文件的高性能数据存储。这不仅使 AI 探针等以事件为中心的视图成为可能,也让所有其他现有探针从中受益。

现在,事件视图可以成为使用探针工作时的控制中心:借助其高级过滤功能,您可以在多个维度上裁剪事件集合,并使用底部的次级视图来查看热点、调用树、分布直方图和时间线。

博客插图博客插图

脚本与自定义热点

对于许多探针而言,最有用的视角是查看其热点。例如,JDBC 探针会显示所有被测量的预处理语句的累积数据。而对于 AI 探针,如何为多个并发请求提取“热点”字符串以及如何为它们命名,就不那么直观了。

默认情况下,JProfiler 显示模型名称。这是一种有效的热点视角,在您使用多个模型时尤其如此,但对于许多其他用例和问题场景而言就显得不够了。

JProfiler 对脚本的广泛支持再次派上了用场:在一个配备代码补全、检查、快速修复和重构功能的现代 Java 编辑器中,您可以编写一个脚本,提取用于对 LLM 请求进行分类的字符串。为帮助您提取所需数据,JProfiler 内置了一个对该请求进行建模的 API。

JProfiler 会编译该脚本并将其传输到被分析的 JVM。每次发生调用时,脚本都会运行,并计算出累积热点视图所需的数据。

博客插图博客插图

实践探索:LLM 演示应用

对于考虑开发智能体应用的开发者,我们在本版本中附带了一个演示应用。它使您无需访问真实的应用程序,即可探索 AI 探针的各项功能。

与 AI 探针的主题相契合,该演示应用从 arXiv 预印本服务器下载文章摘要并从中提取关键词。在处理完一批文章后,它会合并相似的关键词。

通过这个演示应用,您还可以了解如何将 HTTP Client 探针与 AI 探针配合使用,以便在不同的处理阶段检查工作流。

博客插图博客插图

面向未来的基础

本版本的三大主题是 AI 可观测性、探针事件的大规模可伸缩性,以及对现代 JVM 的深度支持。

但我们不会止步于此。在 JProfiler 16 中,我们的创新步伐已经加快,并将持续加速。如今,JProfiler 提供了解读确定性代码与概率模型之间交互所需的原始可见性。与此同时,我们正在为未来的版本奠定基础,使其从单纯的观察迈向自动化的、AI 辅助的性能启发式分析。敬请期待!

归档