span 表示跟踪中的一次操作。每个 span 记录操作开始时间和耗时。相关 span 形成层级结构,显示请求如何经过 Cloudflare。
跟踪中的 span 取决于涉及的产品和请求路径。只有对应操作实际运行时,才会出现相应 span。
| Span | 覆盖范围 | 其时长衡量的内容 |
|---|---|---|
cloudflare_request |
Cloudflare 对 HTTP 请求的处理。这是平台级请求处理的根 span。 | 在跟踪配置和采样解析完成后开始。包括请求处理、上游、响应投递和后处理,但不包括跟踪激活之前的处理。 |
response |
响应处理以及向客户端的投递。 | 在上游或内部生成的响应可用后开始。这包括将响应完整流式传输回客户端所花费的时间。 |
workers_routing |
匹配、跳过或拒绝 Workers 路由或自定义域名的决策。skipped 表示匹配到跳过或已禁用的路由。不符合 Workers 路由条件的请求不会发出此 span。 |
包括评估可能匹配该请求的路由/自定义域名的时间。不包括执行 Worker 的时间。 |
page_rules |
对已配置 Page Rules 集的一次评估。 | 包括评估 Page Rules 的时间。不包括将这些操作应用到请求的时间。 |
cache |
从 Cloudflare 缓存获取响应,并在需要时获取或重新验证。 | 在缓存命中时,包括读取和传输缓存响应。如果 Cloudflare 需要获取或重新验证响应,该时间也会包含在内,包括等待另一个已在填充缓存的请求。包含完整响应正文,而不仅仅是缓存查找。 |
dynamic |
获取并返回未缓存的响应。 | 包括在需要时建立连接、发送请求及其正文、等待响应,以及传输完整响应正文。它不仅仅是源站处理请求所花费的时间。 |
upstream |
使用分层缓存(Tiered Cache)从另一个 Cloudflare 位置获取响应。 | 包括在需要时建立连接、发送请求、等待另一位置生成响应,以及接收其完整响应正文。如果该位置需要从你的源站获取,等待时间也包含在内。它不仅仅是位置之间的网络传输时间。 |
规则集阶段 span 衡量规则执行以及阶段输出的应用。它们在资格检查和请求正文准备之后开始,并在 Cloudflare 应用相应操作后结束。被跳过的阶段不会发出 span。
| Span | 覆盖的规则集阶段 |
|---|---|
http_request_dynamic_redirect |
Dynamic Redirect Rules |
http_request_transform |
早期请求 Transform Rules |
http_config_settings |
Configuration Rules |
http_request_origin |
Origin Rules |
http_request_firewall_custom |
自定义规则 |
http_request_firewall_managed |
托管规则 |
http_request_redirect |
请求重定向规则 |
http_request_late_transform_managed |
托管的后期请求转换 |
http_request_late_transform |
后期请求转换 |
http_request_cache_settings |
Cache Rules |
http_request_snippets |
Snippets 规则 |
http_custom_errors |
Custom Error Rules |
http_response_headers_transform_managed |
托管的响应标头转换 |
http_response_headers_transform |
Response Header Transform Rules |
http_response_compression |
Compression Rules |
http_response_firewall_managed |
托管的响应防火墙处理 |
Cloudflare Traces 包含受支持的 Workers runtime 操作 span,包括处理程序调用、fetch 调用和绑定操作。
完整 runtime 参考请参阅 Workers span 和属性。你也可以创建自定义 span 来覆盖应用特定操作。
部分 Cloudflare 功能尚未提供专用 span。这些功能处理的请求仍会出现在跟踪中,但不会提供该处理过程的 span 级详情。
- DDoS 防护规则
- Cloudflare Access
- Cloudflare Tunnel