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

    Function instrument

    • Wrap a Cloudflare Workers handler with automatic tracing

      • fetch: extracts traceparent from request headers, or creates root span
      • queue: extracts traceparent from message body (_traceparent field), or creates root span
      • scheduled: generates new root span for each invocation

      Type Parameters

      • Env
      • QueueMessage = unknown

      Parameters

      Returns ExportedHandler<Env, QueueMessage>

      // Basic usage (no export, just context propagation)
      export default instrument({
      async fetch(request, env, ctx) {
      const logger = getLogger();
      logger.info('handling request'); // includes trace_id, span_id
      return new Response('OK');
      },
      });
      // With typed queue messages
      interface MyMessage {
      orderId: string;
      _traceparent?: string;
      }

      export default instrument<Env, MyMessage>({
      async queue(batch, env, ctx) {
      for (const msg of batch.messages) {
      console.log(msg.body.orderId); // typed!
      }
      },
      });