跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

跟踪

最后更新 查看 MarkdownAgent 设置

Cloudflare Traces 显示生产请求如何经过 Cloudflare,并记录你域名上实际流量的跟踪。每条跟踪包含请求路径中受支持步骤的 span,例如 Rules、请求路由、Cache、Workers 和源站连接。span 记录操作耗时、结果和相关属性,帮助你查看请求在何处变慢或失败。

一条 Cloudflare 跟踪,显示请求处理 span、Worker 和源站操作、时序,以及所选 span 的详情。

使用 Cloudflare Traces 可以回答如下问题:

启用跟踪

为账户中的每个域名分别启用跟踪。要管理采样、上下文、导出目标和跟踪规则,请参阅配置。

检查跟踪

使用 Add filter(添加过滤器) 或输入查询,在所选时间范围内搜索跟踪。要查找单个请求的跟踪,请按其 Ray ID 过滤。

打开一条跟踪,即可将完整请求路径查看为 span 层级结构。每一行代表一次操作,其条形显示操作运行时间和耗时。展开 span 可检查其子操作,也可按名称搜索 span。

选择一个 span 可打开其详情。详情面板显示 span 状态、服务、触发器、span 和跟踪 ID、与类似 span 的耗时对比,以及记录的属性。调查操作时,你可以搜索或复制这些属性。

常见问题

跟踪是否会增加请求延迟

不会。跟踪对请求处理没有可测量的开销。未被采样的请求会完全跳过跟踪。

为什么跟踪中会出现空隙

请求路径中的某个 Worker 可能未启用 Workers 跟踪。请在 Wrangler 配置 中使用 observability.traces.enabled = true 启用它。

为什么没有出站连接 span

如果响应来自缓存,Cloudflare 不会联系你的源站。请检查 cache span 上的 cloudflare.cache.status 属性,确认其为 HIT,而非源站连接。

如何捕获特定请求的跟踪

在仪表板中按 Ray ID 过滤,使用 cloudflare.ray_id = "<ray>"。要确保无论默认采样率如何都能捕获特定请求,请创建一条跟踪规则,匹配自定义调试标头并将采样率设为 100%。

能否只采样慢请求或错误

目前还不能。采样是基于头部的(head-based) ↗ —— 决策发生在请求到达时,此时结果尚不可知。目前不支持基于尾部的采样。

span 中是否会捕获请求标头值

会捕获标头名称以及对它们执行的操作。不会捕获标头值。会捕获 URL 和查询字符串。

span 名称是否是稳定接口

不是。随着产品演进,span 名称和结构可能会变化。请勿对 Cloudflare 发出的 span 的确切形态建立硬依赖。

这篇文档对您有帮助吗?