乐于分享
好东西不私藏

AI Agent 可观测性:看不见的链路,才是最贵的技术债

AI Agent 可观测性:看不见的链路,才是最贵的技术债

写在前面

很多团队在做 AI Agent 时都有一个共同体验:反复换模型、堆提示词、调参数,但效果始终不稳定。

核心问题往往不在模型本身,而在于——你看不见 Agent 是怎么完成任务的

看不见,就没法诊断;没法诊断,就只能靠猜;靠猜,就容易陷入"感觉快成了"的循环。

这篇文章聊三个实在的问题:

  1. 1. Agent 的可观测性到底该看什么
  2. 2. 行业标准和真实工程实践是怎么做的
  3. 3. 一个团队该从哪里开始建

一、你的 Agent 是不是也有这些症状

Agent 项目最危险的状态不是"完全不能用",而是"有时很好用,有时很离谱"。这种不稳定最难处理,因为它会制造一种幻觉:好像再调一点就好了。

几个典型症状:

  • • 任务完成率忽高忽低,找不到规律
  • • 同一类任务,昨天能做今天又不行
  • • 复杂任务经常在中间某步卡住或跑偏
  • • 成本越来越高,但效果没有同步提升
  • • 出了问题,团队的第一反应是"再改改提示词"

如果这些症状你很熟,接下来的内容值得细看。

1.1 表面问题 ≠ 真实根因

先看一张在团队里反复出现的误判对照表。

你看到的现象
常见的第一反应
实际更可能的根因
回答质量一般
模型不够强
上游数据就错了,或 RAG 检索没命中
任务很慢
模型推理慢
某步重复执行、工具调用卡住、循环过多
任务失败
提示词不够细
工具超时、权限拒绝、外部 API 异常
成本飙升
模型太贵
上下文膨胀、失败后反复重试、无效循环
表现不稳定
模型随机性
特定步骤系统性失稳,或依赖服务波动

这张表的重点不是"把锅甩给别处"。重点是:同一个表面问题,背后的根因可能完全不同。不先定位到真实原因,后面的优化大概率是在浪费时间。

1.2 四个常见的"条件反射"

Agent 项目里最常见的错误动作:

  • • 完成率不高 → 换更强的模型
  • • 输出不稳 → 继续堆提示词
  • • 成本高了 → 压缩调用次数
  • • 失败多了 → 增加重试逻辑

这些动作在局部场景下可能有效,但它们有一个共同的前提假设:你已经知道问题发生在哪里

事实是,大部分团队连最基础的判断能力都还没有——分不清是模型问题还是工具问题,分不清是逻辑错误还是环境约束,分不清是 RAG 没检索到还是 LLM 推理偏了。

在不知道原因的情况下继续改参数,不是优化,是碰运气。

二、Agent 可观测性到底该看什么

讨论 Agent 可观测性时,常见一种按"层"划分的思路——任务结果层、执行过程层、模型调用层、工具执行层、宿主环境层。方向没错,但在实际工程落地中会遇到几个问题:

  1. 1. 缺了一个关键层:RAG / 知识检索。大量 Agent 输出质量差,根因不在模型推理,而在输入给模型的上下文就是错的——检索没命中、召回质量差、知识库过期。这一层不单独观测,很多问题永远找不到根因。Arize AI 在 2024 年的 LLM Observability 报告中也指出,RAG 质量是生产环境中最常被低估的故障源。
  2. 2. 宿主环境不该独立成层:CPU、内存、网络这些是基础设施监控的范畴,Datadog、Prometheus 等传统运维工具已经覆盖得很好。把它混进 Agent 可观测性讨论,反而模糊了重点。
  3. 3. 缺少 SLO 驱动的思维:列了一堆指标,但没有回答"什么情况算正常,什么情况该告警"。Google SRE 的核心原则之一是:没有 SLO,监控只是在"看数字",不是在"做决策"。

2.1 更贴近工程实际的观测模型

结合实际的 Agent 架构(Gateway → Engine → Tool/MCP → RAG → LLM),真正需要观测的是一条完整的请求链路,而不是孤立的"层"。

一个更实用的拆法,是沿着 Agent 处理一次任务的链路,在关键节点埋观测点:

用户请求  → Gateway(鉴权/路由/限流)    → Engine(Agent 编排/规划/推理)      → Tool/MCP 调用(外部工具执行)      → RAG 检索(知识检索/向量匹配)      → LLM 调用(模型推理)    → 结果聚合  → 响应用户

每个节点需要回答的问题不同:

观测节点
核心问题
关键信号
任务/会话
有没有完成?用户是否接受?
成功率、人工接管率、业务达成率
Agent 编排
执行了几步?在哪一步偏了?
步骤数、重试次数、循环次数、步骤失败分布
工具/MCP
工具调到了吗?结果对吗?
调用耗时、错误率、超时率、退出码
RAG 检索
找到了吗?找对了吗?
召回率、命中率、检索延迟、重排质量
LLM 调用
快不快?贵不贵?有没有拒答?
延迟(P50/P95/P99)、token 量、成本、拒答率、截断率

这不是把"五层"硬改成"五个节点"——这是从链路追踪的视角重新组织观测,让每个数据点都能串在同一条 Trace 上,支持从结果到根因的逐层下钻。

2.2 为什么 RAG 层必须单独看

这一点值得展开讲,因为它是很多团队长期忽略的盲区。

一个典型场景:用户问了一个运维知识问题,Agent 回答得驴唇不对马嘴。团队第一反应是"模型不够强"或"提示词不够好"。

但如果你能看到 RAG 检索的中间结果,很可能会发现:

  • • 检索压根就没命中正确的文档片段
  • • 命中了,但召回排序不对,正确答案排在第 5 条,而只取了 Top 3
  • • 命中了正确文档,但文档本身已经过期

这些问题,换再贵的模型也解决不了。没有对 RAG 层的独立观测,你会一直在"调提示词 → 没效果 → 再调 → 还是没效果"的循环里。

具体需要观测的 RAG 信号:

  • • 检索输入:用户 query 经过何种改写
  • • 召回结果:返回了哪些文档片段、相似度得分分布
  • • 重排结果:rerank 后的排序变化
  • • 引用片段:最终送给 LLM 的上下文是什么

有了这些数据,你才能判断:是检索策略要调,还是知识库要更新,还是 rerank 模型要换。

三、行业标准:OpenTelemetry + LLM 可观测性工具

Agent 可观测性不是从零发明的——它建立在可观测性领域已经成熟的工程实践之上。

3.1 可观测性三支柱

任何严肃的可观测性方案,都围绕三个数据类型构建:

  • • Metrics(指标):聚合数值,回答"系统整体健康吗"——请求量、成功率、延迟分位数、成本
  • • Logs(日志):结构化事件记录,回答"具体发生了什么"——错误详情、工具返回值、审计记录
  • • Traces(链路追踪):跨组件的调用链,回答"一次请求是怎么走完的"——从 Gateway 到 LLM 的全链路

很多团队在做 Agent 观测时,只关注了"事件"这个笼统的概念,没有区分这三种数据类型各自的用途和关系。这会导致落地时数据混在一起,该聚合的没聚合,该详查的查不到。Honeycomb 的创始人 Charity Majors 有一个经典观点:可观测性不是三个工具的简单拼凑,而是三种数据视角的协同。Agent 场景下尤其如此。

3.2 OpenTelemetry:Agent 链路追踪的事实标准

OpenTelemetry(OTel) 是 CNCF 的开源可观测性标准,已经成为行业事实标准。它提供了统一的 SDK、数据模型和 Collector 架构,覆盖 Metrics / Logs / Traces 三个支柱。目前 OTel 已经是 CNCF 中仅次于 Kubernetes 的第二活跃项目,Microsoft、Google、AWS、Datadog 等主要云厂商和观测平台都已原生支持。

对 Agent 来说,OTel 最大的价值是:用一个 trace_id 把整条链路串起来

一次用户请求的 Span 层级大致如下:

gateway.request(入口 span)├── engine.run(Agent 编排 span)│   ├── rag.search(向量检索 span)│   ├── llm.call(模型调用 span)│   ├── mcp.call(工具调用 span #1│   ├── llm.call(模型调用 span #2│   └── mcp.call(工具调用 span #2└── response(响应 span)

每个 Span 上需要打的关键属性:

Span 类型
关键属性
gateway.requestrequest_id
user_idtenant_id, 状态码
engine.runconversation_id
, 步骤数, 重试次数
mcp.callsystem
tool_nametimeoutretry_countresult_status
rag.search
检索延迟, 召回数量, 命中率
llm.callmodel
providerinput_tokensoutput_tokensfinish_reason

有了这条链路,出问题时的排查路径就是:先看 Trace 总览 → 找到耗时最长或失败的 Span → 下钻看详情。不需要猜,不需要人工复现。

3.3 多轮会话:被忽略的追踪维度

单轮请求的 Trace 相对直观。但 Agent 真正复杂的地方在于多轮会话——用户和 Agent 持续交互,上下文在不断累积。

多轮会话带来两个追踪层面的特殊挑战:

  1. 1. 上下文窗口膨胀:随着对话轮次增加,送给 LLM 的上下文越来越长。token 成本线性增长,但大部分团队在单轮 Trace 里看不到这个趋势。你需要用 conversation_id 把同一会话的多条 Trace 串起来,观察 token 消耗随轮次的变化曲线。
  2. 2. 跨轮次依赖关系:第 3 轮的失败,可能根因在第 1 轮的工具调用结果被错误缓存。如果每条 Trace 都是孤立的,这种跨轮次因果关系根本看不出来。

解决方式也不复杂:

  • • 在所有 Span 上打 conversation_id,作为多轮聚合键
  • • 在 Langfuse 中按 conversation_id 查看完整会话轨迹和成本趋势
  • • 对多轮会话设置独立的上下文膨胀告警:当单次会话的累计 token 超过阈值时触发

Anthropic 在 Claude 的运营实践中就大量使用了 session-level 的指标聚合,而不仅仅是单次 request-level 的监控。

3.3 LLM 可观测性工具

除了 OTel 这个基础层,Agent 还需要专门的 LLM 可观测性工具来解决两个 OTel 不擅长的问题:

工具
解决什么问题
典型代表
LLM Trace 与成本管理
看清每次模型调用的 prompt、tool call、token 消耗和成本分布
Langfuse(开源)
RAG 调试与评估
离线评估 RAG 质量、做回归测试、跑实验对比
Arize Phoenix(开源)

这两类工具与 OTel 不是替代关系,而是互补:OTel 负责跨组件链路串联,LLM 工具负责 AI 特有的深度分析。它们通过共享 trace_id / request_id 实现互相跳转。值得一提的是,Langfuse 在 2024 年已获得 Y Combinator 投资并被 LangChain 官方文档推荐为首选 LLM 观测方案,Arize Phoenix 则被 LlamaIndex 和 Haystack 社区广泛采用。

一个推荐的组合方案:

观测域
组件
集成方式
LLM Trace 与成本
Langfuse(开源)
SDK/HTTP 上报,或 OTel 导出
RAG 调试与评估
Arize Phoenix(开源)
数据格式上报 / 离线评估
分布式追踪
OpenTelemetry
OTel SDK + Collector
指标与告警
Prometheus + Alertmanager
/metrics 暴露
看板
Grafana
读取 Prometheus / OTel 数据源

四、指标不是越多越好,关键是能驱动决策

一个常见的误区是:做可观测性就是罗列尽可能多的指标。但真正的问题是——什么数值算正常?什么数值该告警?

没有这个标准,监控就是"看了个寂寞"。

4.1 SLO 驱动:先定义"什么算好"

SLO(Service Level Objective)不是运维团队的专利。对 Agent 来说,SLO 要回答的问题很直接:

  • • 任务成功率应该 ≥ 多少?
  • • 端到端延迟 P99 应该 ≤ 多少?
  • • 单次工具调用超时率应该 < 多少?
  • • 单任务平均成本应该 ≤ 多少?

有了 SLO,告警才有依据。否则你只是每天看一堆数字,看完了也不知道该不该紧张。

Google SRE 的经验很简单:以 SLO 违约为告警标准,不是以"指标变化"为告警标准。成功率下降 0.5% 但还在 SLO 范围内,不需要半夜叫人起来。这个原则在《Site Reliability Engineering》(O'Reilly) 中有系统阐述,Netflix、LinkedIn 等公司也在各自的 SRE 实践中验证了其有效性。

4.2 四组核心指标

指标不需要一上来就搞几十个。先盯住这四组,每组都能直接驱动一个决策:

第一组:结果指标 —— Agent 到底有没有在创造价值

指标
驱动的决策
任务成功率
Agent 是否可以继续投入
人工接管率
自动化成熟度是否在提升
业务结果达成率
是否真正创造了业务价值

第二组:过程指标 —— 问题到底集中发生在哪

指标
驱动的决策
步骤失败分布
哪个步骤需要重点优化
重试/循环次数
是否存在无效的资源消耗
MCP 调用错误率(按系统拆分)
哪个外部依赖最不稳定

第三组:成本指标 —— 钱到底花在了哪里

指标
驱动的决策
单任务平均 token 消耗
上下文是否膨胀
失败任务的 token 浪费
是否需要 fail-fast 策略
模型调用成本(按租户/Agent 拆分)
是否需要分级模型路由

第四组:质量指标 —— RAG 和模型表现如何

指标
驱动的决策
RAG 检索命中率
知识库质量是否达标
LLM 拒答率 / 截断率
模型选型或 prompt 是否需要调整
延迟 P50 / P95 / P99
是否有体验瓶颈需要优化

4.3 告警原则

两条原则就够了:

  1. 1. 以 SLO 违约为主:成功率跌破阈值、P99 恶化超过上限、成本突破预算
  2. 2. 以依赖隔离为辅:单一 MCP 系统异常单独告警,不要因为一个工具挂了就把整个 Agent 标红

五、不同类型的 Agent,观测策略完全不同

这是一个务实的问题:你能看到多少,取决于你控制多少。不同的 Agent 部署形态决定了你的观测策略和投入重点。

维度
云端黑盒 Agent(SaaS)
本地/桌面 Agent
自建 Agent
代表产品
ChatGPT Enterprise、Claude for Work、Gemini for Workspace
Cursor、Claude Desktop、GitHub Copilot
自研 Agent 平台
可见性范围
任务状态、用量统计、成本额度
步骤级事件、工具调用明细、文件操作
全链路可控:事件模型、追踪标识、工具网关
核心策略
结果监控 + 成本监控 + 用户满意度
步骤分析 + 工具健康度 + 本地资源
端到端 Trace + SLO + 自动化治理
推荐工具
平台原生分析 + 第三方成本看板
平台日志 + Langfuse(如支持导出)
OTel + Langfuse + Phoenix + Grafana
投入优先级
低投入,聚焦 ROI 评估
中投入,聚焦瓶颈定位
高投入,聚焦全链路治理

云端黑盒 Agent(SaaS 产品)

你最多能拿到:任务状态、用量统计、成本额度。拿不到内部步骤、工具细节、模型调用明细。

正确策略:不追求全链路透明,聚焦结果监控 + 成本监控 + 用户满意度反馈。这已经足够你做 80% 的决策了。OpenAI 的 Usage Dashboard 和 Anthropic 的 Admin Console 提供的就是这个层级的可见性,对大部分企业用户来说够用。

本地/桌面 Agent(Cursor、Claude Desktop、GitHub Copilot 等)

能拿到更多:步骤级事件、工具调用明细、文件操作、权限请求。Cursor 的 Activity Log、GitHub Copilot 的 Telemetry 都提供了比 SaaS 更细粒度的观测窗口。

看起来更"难管",但长期反而更容易优化。因为至少能被看清——你可以统计哪些工具调用最耗时、哪类操作失败率最高,从而有针对性地优化工作流。

自建 Agent

上限最高。你可以统一控制事件模型、追踪标识、工具网关、模型代理。

这也是 LangChain、AutoGen、CrewAI 等主流 Agent 框架都在积极集成 OpenTelemetry 和 Langfuse 的原因——框架层面内置了可观测性钩子,减少了自建团队的接入成本。做得好的团队,领先点往往不在模型选型,而在于更完善的可观测性和治理能力。

六、一个可落地的排查流程

出问题时别急着改参数。按这个顺序来:

第一步:先看结果。 成功率是否稳定?人工接管是否上升?先确认 Agent 在 SLO 范围内还是外。

第二步:按任务类型拆分。 很多时候不是整体不行,而是某类任务明显不行。比如需要浏览器操作的任务差、需要多轮规划的任务慢、需要文件写入的任务容易失败。不按类型拆,会误以为整个 Agent 都有问题。

第三步:拉出失败任务的 Trace。 这是最关键的一步。打开一条失败任务的完整 Trace,看它从 Gateway 到 LLM 到工具每一步的耗时和状态。通常很快就能定位到:是工具超时了?是 RAG 没检索到?还是 LLM 拒答了?

第四步:用下面这张表快速定位根因归属。

你看到的现象
优先怀疑
成本突然升高,成功率没变
循环/重试/上下文膨胀
某类任务总失败,普通问答正常
工具链路或 RAG 质量
同一步频繁超时
工具或外部依赖
输出经常偏题
RAG 检索质量或知识库过期
不同时段表现差别大
外部依赖或上游服务波动

第五步:决定动作。 定位到根因后,只有三种决策路径:继续优化自动执行、在特定场景自动降级、或者明确转人工。没有前面四步的判断,任何动作都是在碰运气。

七、建设路径:从看得见到管得住

别一上来追求大而全的监控平台。更现实的路径是分三步走。

阶段一:结果可见性(1-2 周)

目标:回答"Agent 到底有没有用"。

  • • 采集任务级事件:task_started / task_finished / task_failed
  • • 看清成功率、失败率、人工接管率
  • • 按任务类型拆分,找到最差的那类
  • • 建立基础的成本统计

最小字段集:trace_idtask_idevent_typestatusduration_mserror_type

阶段二:过程可见性(2-4 周)

目标:回答"问题到底出在哪一步"。

  • • 接入 OpenTelemetry,建立端到端 Trace
  • • 补齐步骤级事件:step_started / step_failed
  • • 补齐工具事件:tool_called / tool_failed(含 systemtool_nameresult_status
  • • 补齐模型事件:llm_request / llm_response(含 modeltokensfinish_reason
  • • 接入 Langfuse,看清 token 成本分布
  • • 如有 RAG,接入 Arize Phoenix,建立检索质量基线

到这一步,团队具备了"从结果定位到根因"的能力,可以开始做有针对性的优化。

阶段三:治理自动化(持续)

目标:从"人看数据做决策"走向"系统自动响应"。

  • • 定义 SLO,配置告警规则
  • • 实现自动降级:特定工具持续失败时自动切换备选路径
  • • 实现模型路由:按任务复杂度自动选择模型(简单任务用小模型降本,复杂任务用强模型保质量)
  • • 实现自动转人工:识别 Agent 能力边界,超出时及时交给人
  • • 建立离线评估流程:定期用 Phoenix 跑 RAG 质量回归测试

重要提醒:没有前两个阶段的数据积累,第三阶段的自动化只会放大混乱。 自动降级需要知道"什么时候该降级",模型路由需要知道"什么任务用什么模型效果好"——这些判断都依赖前两个阶段建立的数据基线。

八、真正危险的不是失败,而是"长期不知道为什么失败"

Agent 是复合系统,失败很正常。

真正危险的是这些状态长期持续:

  • • 失败越来越多,但团队不知道集中在哪类任务
  • • 成本越来越高,但团队不知道 token 浪费在哪一步
  • • 用户觉得不好用,但团队的唯一手段是改提示词
  • • 每次排障都靠人手动复现,而不是打开一条 Trace

一旦进入这种状态,技术团队越来越疲惫,业务团队越来越不信任。很多 Agent 项目不是死在模型能力不够,而是死在"不可解释、不可运营、不可治理"。

Anthropic 的 CEO Dario Amodei 在多次公开场合都强调过:Agent 系统的安全性和可靠性依赖于可解释性和可观测性。Google DeepMind 在其 Agent Safety 白皮书中也将"行为可审计性"列为 Agent 上生产的前置条件之一。这不是某个团队的内部偏好——而是行业正在形成的共识。

写在最后

真正的分水岭不是"有没有 Agent",而是:

有没有能力把用户请求、Agent 编排、工具调用、知识检索、模型推理串成一条可追溯、可诊断、可治理的链路。

这条链路的技术底座已经成熟——OpenTelemetry 提供标准,Langfuse / Arize Phoenix 提供 AI 原生能力,Prometheus / Grafana 提供指标与看板。缺的不是工具,是团队把这件事排上优先级的决心。

AI Agent 真正的差距,很多时候不在模型参数,而在你能不能看清它为什么成功,又为什么失败。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-13 15:48:28 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/519968.html
  2. 运行时间 : 0.109248s [ 吞吐率:9.15req/s ] 内存消耗:4,657.93kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=38f7e4857b10496a3229e03e3fed904d
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000553s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000730s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000294s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000271s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000475s ]
  6. SELECT * FROM `set` [ RunTime:0.000191s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000570s ]
  8. SELECT * FROM `article` WHERE `id` = 519968 LIMIT 1 [ RunTime:0.000547s ]
  9. UPDATE `article` SET `lasttime` = 1776066508 WHERE `id` = 519968 [ RunTime:0.004611s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000247s ]
  11. SELECT * FROM `article` WHERE `id` < 519968 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000445s ]
  12. SELECT * FROM `article` WHERE `id` > 519968 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000348s ]
  13. SELECT * FROM `article` WHERE `id` < 519968 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001624s ]
  14. SELECT * FROM `article` WHERE `id` < 519968 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000889s ]
  15. SELECT * FROM `article` WHERE `id` < 519968 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001994s ]
0.111192s