面向人类面向 AI 代理

JProfiler,排名第一的 Java 性能分析工具
为您的 AI 代理适用于 Claude Code适用于 Codex适用于 Cursor适用于 OpenCode为您的 AI 代理

您的 AI 智能体能读懂您的代码。借助 JProfiler,它还能看到代码的运行过程。

在 PowerShell 中运行此命令:

irm https://www.ej-technologies.com/jprofiler/mcp/install.ps1 | iex

在终端中运行此命令:

curl -fsSL https://www.ej-technologies.com/jprofiler/mcp/install.sh | sh

需要先安装 Node.js。请选择您的智能体,并按照以下说明操作。

在 Claude Code 中运行此命令:

claude mcp add jprofiler -- npx -y @ej-technologies/jprofiler-mcp@latest

如果您已经安装了 JProfiler,即可直接通过其用户界面配置集成。

打开 JProfiler,前往 会话 → AI 智能体集成,选择您的智能体,JProfiler 将自动完成配置。

背景插图
背景插图
背景插图
背景插图

您的智能体可以用 JProfiler 做什么

没有运行时数据,智能体只能凭源代码猜测性能问题。有了 JProfiler,它就能实测时间和内存究竟消耗在哪里,并验证修复是否奏效。

找到真正的热点

源代码审查往往会指向错误的方法。采样得到的 CPU 数据、调用树和反向跟踪会向您的智能体展示时间究竟消耗在了哪里。

无需图形界面即可分析堆转储

智能体无法打开 Eclipse MAT 或性能分析工具的图形界面。JProfiler 的堆分析为 HPROF 转储提供可查询的视图:最大对象、保留大小、通往 GC 根的路径以及实例数量。

发现源代码审查遗漏的 JDBC 和 JPA 模式

在代码中看似无害的查询,一旦每个刷新周期执行 580 次,就可能成为问题。数据库探针提供的调用次数和聚合执行统计,使逐条查询、N+1 模式和冗余检查清晰可见。

捕获偶发的慢调用

有些调用平均而言很快,但偶尔一次运行会特别慢。离群检测能找出最大值与平均值偏差悬殊的方法,而异常执行记录会将最慢的调用单独保留并支持逐个展开,让您的智能体可以分析单次缓慢的执行,而不是只看到合并后的平均值。

用曲线拟合证明算法复杂度

这个方法相对于载荷大小是否为 O(n²)?您的智能体会获得实测的(输入规模、耗时)数据点并进行曲线拟合,而不是仅凭源代码对 Big-O 争论不休。

让智能体编写自己的探针

当内置探针无法覆盖问题时,智能体可以定义脚本探针:一种轻量级插桩,在每次方法调用时进行计算并推送到运行中的 JVM,无需更改应用程序的代码、构建或部署。

……以及更多功能

度量 LLM 和 AI 调用成本

面向智能体应用的上下文感知指标:LLM 调用延迟、token 用量和 AI 探针事件可帮助您的智能体最大限度地降低成本并优化模型性能。

证明修复确实有效

通过修改前后的剖析运行和快照对比,智能体会进行测量、实施修复并验证结果。

诊断死锁和锁争用

借助监视器统计信息、争用时间线、带堆栈跟踪的锁定历史、锁顺序反转图以及来自运行中 JVM 的监视器转储进行死锁分析。

剖析 Docker 和 Kubernetes 中的 JVM

可直接选择容器化的 JVM,无需手动配置 agent。来自容器内部的堆转储和 CPU 数据开箱即用。

分析来自生产环境的 JFR 记录

来自运行中系统的低开销 JFR 快照可以借助 JProfiler 的全部功能进行分析,非常适合事后排查。

按需获取堆、线程和监视器转储

对运行中的 JVM 执行即时时间点操作,包括查看虚拟线程层次结构。MBean 快照和录制控制同样可以作为实时操作执行。

查找分配热点

带堆栈跟踪的分配记录可显示内存压力来自何处,堆转储中则包含每个对象的分配位置。

分析 GC 暂停

每次垃圾回收都带有触发原因、暂停时间、各阶段以及回收前后的堆使用情况,外加完整的 GC 配置。

使用触发器捕获瞬态状态

堆内存激增和其他瞬态状态会被自动记录:一旦条件满足,触发器就会采集线程转储、堆转储和 MBean 快照。