OpenResty XRay AI 助手是内置在 OpenResty XRay 控制台中的 AI 解读引擎:它直接读取动态追踪采集的真实运行时数据,自动解读火焰图、采样结果和分析报告,并给出结论与下一步行动建议。 目前处于 Beta 阶段,向所有用户开放。

读懂一份火焰图需要经验,把它解释给别人听需要时间。在很多团队里,能看懂 OpenResty XRay 分析报告的往往只有一两个人。线上 CPU 飙高,报告五分钟就出来了,但"报告说明了什么、接下来该做什么",还是要等那位最资深的工程师有空。

AI 助手就是为了消灭这个瓶颈而生的。它直接站在 OpenResty XRay 采集到的真实运行时数据之上,把火焰图、采样结果、分析报告翻译成结论和行动建议——让团队里的每个人都能独立完成一次专业级的性能诊断。

Beta 早期访问:AI 助手目前处于 Beta 阶段,向所有用户开放。这个阶段您的每一条反馈都会直接影响功能的演进方向——我们希望和最早的一批深度用户一起,把它打磨成真正趁手的工具。

它和"把报告贴进 ChatGPT"有什么区别?

通用聊天机器人只能看到您粘贴给它的文字。而 OpenResty XRay AI 助手:

  • 直接访问分析数据。它读取的是 OpenResty XRay 通过非侵入式动态追踪采集的真实运行时数据——不是日志摘要,不是您手动整理的描述,而是采样级的原始事实。
  • 自动感知上下文。您正在看哪台目标机器、哪个应用、哪份报告,它都知道。不需要复制粘贴,不需要向它解释背景。
  • 理解 OpenResty XRay 的分析器体系。它知道每个分析器测量的是什么、指标之间的因果关系,以及 OpenResty/Nginx 内部机制的含义。

换句话说:通用 AI 是一个没到过现场的顾问,OpenResty XRay AI 助手是一个一直站在机房里的同事。

三个典型场景

场景一:线上突发问题,边看页面边问

凌晨两点,某个应用 CPU 突然打满。您打开目标机器页面,OpenResty XRay 已经自动完成了采样分析。

点击页面右下角的 AI 助手弹窗——它会自动带上当前页面的完整上下文,直接开问就行。下面是我们在一台演示机器上复现了一次典型 CPU 事故之后,和 AI 助手的真实对话。

第一问:「这台机器过去一小时 CPU 使用率异常的主要来源是什么?」

AI 助手直接给出定位,每一条结论都来自采样数据:

  • 主要来源是 nginx: worker process(PID 15485),该进程在后段多次达到 98% CPU,是过去一小时最显著的持续高占用进程;
  • 系统级峰值同时表现为 system CPU 49%、iowait 20%——说明这个 worker 的负载伴随较多内核态处理或 I/O 等待,而不只是纯用户态计算;
  • 它还主动排除了干扰项:or-saas 触发的短时辅助进程虽然也曾占到 33%–67%,但持续性和峰值均低于 PID 15485,属于次要因素。

OpenResty XRay AI 助手弹窗定位到 nginx worker 进程 PID 15485 是过去一小时 CPU 异常的主要来源

接着追问优化建议。AI 助手没有甩出一份泛泛的调优清单,而是先纠正了方向:该 worker 持续约 98% CPU,但主机仍有约 64% 空闲——问题集中在单个 worker 上,不建议直接扩容整机或盲目调参数,应该先定位这个 worker 的实际热调用链。然后给出一条可执行的诊断路径:

  1. 优先采集 lj-lua-on-cpu,确认是否为 Lua 业务代码热点;若火焰图顶部是 Lua 函数,再针对该函数减少重复计算、避免每请求重复解析/序列化,并缓存可安全复用的结果;
  2. 若 Lua 占比不高,再采集 lj-c-on-cpuc-on-cpu,定位 LuaJIT 或 Nginx/原生库层面的 CPU 消耗。

OpenResty XRay AI 助手给出先采集 lj-lua-on-cpu、再采集 lj-c-on-cpu 的诊断路径

而这台机器的实际"病灶"正是如此:log 阶段挂了一段把完整请求/响应上下文序列化成 JSON 的审计日志代码,Lua-Land CPU 火焰图上 cjson 的编码调用清晰可见——AI 建议的第一步诊断动作正好直指根因。

整个过程不用离开当前页面,不用复制任何数据,答案就在排障现场。弹窗中的对话会自动保存,事后可以在 AI 助手页面继续追问或分享给同事。

场景二:复盘例行报告,两分钟掌握全局

OpenResty XRay 会持续为目标机器生成分析报告。逐条阅读所有条目很花时间,尤其当您管理着几十台机器时。

报告 Insights 页面新增的「报告解读」标签页里,AI 会替您先读一遍:

  • 用一段话概括这台机器的整体健康状况;
  • 从几十条报告条目中挑出真正值得关注的两三个问题;
  • 指出问题之间的关联——比如内存增长和某个 Lua 模块行为的关系。

您可以把它当成每天早上的"值班交接摘要":先看解读掌握全局,有疑点再下钻到原始条目。

OpenResty XRay Report Insights 页面的 AI 报告解读,自动挑出 P1/P2 优先级问题

场景三:深挖单次分析任务

对于某一次具体的采样分析(Job),在 History 页面点开任意一个分析任务,再切到右上方的 AI 分析 标签页即可。它针对这一次任务的结果回答三个问题:

  1. 发现了什么——这次采样捕捉到的核心事实;
  2. 意味着什么——火焰图、调用路径、采样分布反映的具体问题;
  3. 接下来做什么——可能的原因排序,以及建议的下一步分析动作(比如"建议对该进程再跑一次 off-CPU 分析确认锁竞争")。

这对团队里的新人尤其有价值:过去需要老工程师带着看的分析结果,现在自带一份专家解说。

OpenResty XRay 单次分析任务的 AI 解读报告——HTTP 请求延迟分布的发现与证据

AI 助手页面:您的性能诊断工作台

除了嵌在各处的入口,AI 助手还有一个独立页面,从控制台右上角的 AI 助手图标进入。适合不依附于特定页面的开放式咨询和长对话。

OpenResty XRay 分析任务详情页的 AI 分析标签页,页面顶部提示 AI Agent 可通过 MCP 接入

页面左侧是会话历史,右侧是聊天区域。所有入口(包括弹窗)产生的对话都汇总在这里,随时可以接着聊。会话列表还支持查看 Beta 配额用量、复制会话 ID(反馈问题时用它精确定位)、把整段排障过程一键分享给同事等操作。

OpenResty XRay AI 助手独立页面:左侧会话历史,右侧对话区与快捷入口

换个方向:让你自己的 AI Agent 用上 OpenResty XRay

前面讲的都是"到 OpenResty XRay 控制台里用 AI 助手"。反过来也成立:AI Agent 现在可以通过 MCP 连接到 OpenResty XRay,并可安装 AI 助手 skill 以获得更智能的诊断。

这意味着 Claude Code、Codex、Cursor 以及其他兼容 MCP 的客户端,都能直接驱动 OpenResty XRay 跑分析器、读取诊断数据——性能诊断不必再切换到独立的 OpenResty XRay 控制台,而是融进你现有的开发和排障工作流里。你在 IDE 或终端里正查一个线上问题,同一个 Agent 就能顺手拉起一次动态追踪、把火焰图读回来、给出结论,上下文不用来回搬。

入口在控制台里的「MCP 服务器与 Agent Skill」弹窗,提供两种配合使用的接入方式。

方式一:连接 MCP 服务器

在「MCP 服务器」标签页里,你会看到本账号专属的 MCP server 地址、API-Token 请求头的身份验证说明,以及以 Claude Code 为例、可直接加进 ~/.claude.json 的配置示例。照着填好令牌,你的 Agent 就能连上 OpenResty XRay 服务器,运行分析器并读取诊断信息。

OpenResty XRay 控制台的 MCP 服务器配置弹窗,附 Claude Code 配置示例

方式二:安装 AI 助手 Skill

连上 MCP 之后,再装上 AI 助手 Skill,可以让 Claude Code 等 Agent 获得更智能的诊断。「Agent Skill」标签页里提供了 Skill 包的下载按钮和安装示例,跟着操作即可。

OpenResty XRay AI 助手 Agent Skill 的下载与安装弹窗

常见问题

AI 真的能读懂火焰图吗?

能,而且这正是它最擅长的场景。火焰图的每一个栈帧都是结构化的采样数据,OpenResty XRay AI 助手理解每个分析器测量的指标含义与 OpenResty/Nginx 内部机制,因此它对火焰图的解读不是"看图说话",而是基于原始采样数据的分析——宽的横条意味着什么、哪条调用路径值得追、下一步该跑哪个分析器,它会直接告诉您。

AI 的解读可靠吗?

AI 助手的解读均以 OpenResty XRay 实际采集的运行时数据为依据,并会在回答中标注引用的数据来源,方便您核对。不过它基于大语言模型构建,仍可能出现误读数据或推断不当的情况——因果分析和优化建议应当作有依据的假设,而非最终结论。涉及重要的线上变更时,请回到原始火焰图和报告条目做最终确认。Beta 阶段解读质量在持续迭代中,遇到不准确的回答,欢迎附上会话 ID 反馈给我们。

在哪些页面可以使用它?

四个入口:任意页面右下角的 AI 助手弹窗(自动携带当前页面上下文)、报告 Insights 页的「报告解读」标签页、单次分析任务详情页的 AI 解读,以及控制台右上角进入的独立 AI 助手页面。所有入口产生的对话都汇总在独立页面中。

立即开始

如果您已经是 OpenResty XRay 用户,最快的上手方式不超过两分钟:打开 OpenResty XRay 控制台,进入任意一台目标机器的报告页面,点击右下角的 AI 助手弹窗,问一句「这台机器目前最值得关注的问题是什么?」——看看它的回答,和您自己的判断对比一下。

如果您还没有开始使用 OpenResty XRay,可以先申请试用,把它接到您自己的生产环境上,让 AI 助手直接站在您真实的运行时数据之上给出诊断:

Beta 期间我们特别想听到:哪类问题它答得好、哪类答得差、您希望它接入哪些还没覆盖的数据。反馈时附上会话 ID(会话列表顶部可复制),或直接联系您的技术支持对接人。

您今天的每一条反馈,都在定义这个工具明天的样子。

关于 OpenResty XRay

OpenResty XRay 是一款动态追踪产品,它可以自动分析运行中的应用,以解决性能问题、行为问题和安全漏洞,并提供可行的建议。在底层实现上,OpenResty XRay 由我们的 Y 语言驱动,可以在不同环境下支持多种不同的运行时,如 Stap+、eBPF+、GDB 和 ODB。

关于作者

章亦春是开源 OpenResty® 项目创始人兼 OpenResty Inc. 公司 CEO 和创始人。

章亦春(Github ID: agentzh),生于中国江苏,现定居美国湾区。他是中国早期开源技术和文化的倡导者和领军人物,曾供职于多家国际知名的高科技企业,如 Cloudflare、雅虎、阿里巴巴, 是 “边缘计算“、”动态追踪 “和 “机器编程 “的先驱,拥有超过 22 年的编程及 16 年的开源经验。作为拥有超过 4000 万全球域名用户的开源项目的领导者。他基于其 OpenResty® 开源项目打造的高科技企业 OpenResty Inc. 位于美国硅谷中心。其主打的两个产品 OpenResty XRay(利用动态追踪技术的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最适合微服务和分布式流量的全能型网关软件),广受全球众多上市及大型企业青睐。在 OpenResty 以外,章亦春为多个开源项目贡献了累计超过百万行代码,其中包括,Linux 内核、Nginx、LuaJITGDBSystemTapLLVM、Perl 等,并编写过 60 多个开源软件库。

关注我们

如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:

我们的微信公众号

翻译

我们提供了英文版原文和中译版(本文)。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!