@grand-board/otel-cloudflare - v6.11.0
    Preparing search index...

    Function traceWorkflow

    • Decorator to add tracing to Cloudflare Workflow classes

      Automatically:

      • Creates a span for each workflow run
      • Extracts traceparent from payload._traceparent
      • Proxies step methods to create child spans for each step

      Type Parameters

      • Params = unknown

      Parameters

      Returns <T extends WorkflowEntrypointConstructor<unknown, Params>>(
          target: T,
          context: ClassDecoratorContext,
      ) => T

      // Simple usage - extract traceparent from payload._traceparent
      @traceWorkflow()
      export class MyWorkflow extends WorkflowEntrypoint<Env, Params> {
      async run(event: WorkflowEvent<Params>, step: WorkflowStep) {
      await step.do("fetch-data", async () => {
      // This step is automatically traced
      });
      }
      }
      // With custom key for external traceparent lookup
      @traceWorkflow({
      key: (event) => event.payload.orderId,
      name: "order-workflow"
      })
      export class OrderWorkflow extends WorkflowEntrypoint<Env, OrderParams> {
      async run(event: WorkflowEvent<OrderParams>, step: WorkflowStep) {
      // ...
      }
      }