跳转到内容
搜索文档

更新日志

Cloudflare 的最新更新与改进。

Back to all posts

Workers 追踪现在支持自定义 span

您现在可以使用 tracing.enterSpan() 在您的 Workers 代码中创建自定义追踪 span。自定义 span 与自动平台检测(fetch 调用、KV 读取、D1 查询以及其他平台操作)一起显示在您的追踪和 OpenTelemetry 导出中,并具有正确的父子嵌套关系。

该 API 可以通过 import { tracing } from "cloudflare:workers" 或通过处理程序上下文 ctx.tracing 访问:

import { tracing } from "cloudflare:workers";

export default {
  async fetch(request, env, ctx) {
    return tracing.enterSpan("handleRequest", async (span) => {
      span.setAttribute("url.path", new URL(request.url).pathname);
      const data = await env.MY_KV.get("key");
      return new Response(data);
    });
  },
};

Span 根据 JavaScript 异步上下文自动嵌套,并在回调返回或其返回的 Promise 解决时自动结束。Span 对象提供了 setAttribute(key, value) 用于附加元数据,以及 isTraced 属性用于检查当前请求是否正在被采样。

追踪瀑布图,显示与自动 KV 和 fetch 检测嵌套在一起的自定义 span

必须在您的 Wrangler 配置中启用追踪才能记录 span。

有关完整的 API 详细信息和示例,请参阅自定义 span