/** * OpenTelemetry semantic conventions for Vercel Workflow telemetry. * * This module provides standardized telemetry attributes following OpenTelemetry semantic conventions * for instrumenting workflow execution, step processing, and related operations. Each exported function * creates a properly formatted attribute object that can be used with OpenTelemetry spans. * * The semantic conventions are organized into several categories: * - **Workflow attributes**: Track workflow lifecycle, status, and metadata * - **Step attributes**: Monitor individual step execution, retries, and results * - **Queue attributes**: Instrument message queue operations * - **Deployment attributes**: Capture deployment environment information * * All attribute functions are type-safe and leverage existing backend types to ensure * consistency between telemetry data and actual system state. * * @example * ```typescript * import * as Attribute from './telemetry/semantic-conventions.js'; * * // Set workflow attributes on a span * span.setAttributes({ * ...Attribute.WorkflowName('my-workflow'), * ...Attribute.WorkflowOperation('start'), * ...Attribute.WorkflowRunStatus('running'), * }); * * // Set step attributes * span.setAttributes({ * ...Attribute.StepName('process-data'), * ...Attribute.StepStatus('completed'), * ...Attribute.StepAttempt(1), * }); * ``` * * @see {@link https://opentelemetry.io/docs/specs/semconv/} OpenTelemetry Semantic Conventions * @packageDocumentation */ /** The name of the workflow being executed */ export declare const WorkflowName: (value: string) => { [k: string]: string; }; /** The operation being performed on the workflow */ export declare const WorkflowOperation: (value: "run" | "start" | "execute" | "execute_v2") => { [k: string]: "run" | "start" | "execute" | "execute_v2"; }; /** Unique identifier for a specific workflow run instance */ export declare const WorkflowRunId: (value: string) => { [k: string]: string; }; /** Current status of the workflow run */ export declare const WorkflowRunStatus: (value: "pending" | "running" | "cancelled" | "completed" | "failed" | "workflow_suspended") => { [k: string]: "pending" | "running" | "cancelled" | "completed" | "failed" | "workflow_suspended"; }; /** Timestamp when the workflow execution started (Unix timestamp) */ export declare const WorkflowStartedAt: (value: number) => { [k: string]: number; }; /** Number of events processed during workflow execution */ export declare const WorkflowEventsCount: (value: number) => { [k: string]: number; }; /** Number of arguments passed to the workflow */ export declare const WorkflowArgumentsCount: (value: number) => { [k: string]: number; }; /** Type of the workflow result */ export declare const WorkflowResultType: (value: string) => { [k: string]: string; }; /** Whether trace context was propagated to this workflow execution */ export declare const WorkflowTracePropagated: (value: boolean) => { [k: string]: boolean; }; /** Active trace-correlation mode for this invocation (linked or continuous) */ export declare const WorkflowTraceMode: (value: "linked" | "continuous") => { [k: string]: "linked" | "continuous"; }; /** Name of the error that caused workflow failure */ export declare const WorkflowErrorName: (value: string) => { [k: string]: string; }; /** Error message when workflow fails */ export declare const WorkflowErrorMessage: (value: string) => { [k: string]: string; }; /** Error classification code (USER_ERROR, RUNTIME_ERROR, etc.) */ export declare const WorkflowErrorCode: (value: string) => { [k: string]: string; }; /** Number of steps created during workflow execution */ export declare const WorkflowStepsCreated: (value: number) => { [k: string]: number; }; /** Number of hooks created during workflow execution */ export declare const WorkflowHooksCreated: (value: number) => { [k: string]: number; }; /** Number of waits created during workflow execution */ export declare const WorkflowWaitsCreated: (value: number) => { [k: string]: number; }; /** Name of the step function being executed */ export declare const StepName: (value: string) => { [k: string]: string; }; /** Unique identifier for the step instance */ export declare const StepId: (value: string) => { [k: string]: string; }; /** Current attempt number for step execution (starts at 1) */ export declare const StepAttempt: (value: number) => { [k: string]: number; }; /** Current status of the step */ export declare const StepStatus: (value: "pending" | "running" | "cancelled" | "completed" | "failed") => { [k: string]: "pending" | "running" | "cancelled" | "completed" | "failed"; }; /** Maximum number of retries allowed for this step */ export declare const StepMaxRetries: (value: number) => { [k: string]: number; }; /** Whether trace context was propagated to this step execution */ export declare const StepTracePropagated: (value: boolean) => { [k: string]: boolean; }; /** Whether the step was skipped during execution */ export declare const StepSkipped: (value: boolean) => { [k: string]: boolean; }; /** Reason why the step was skipped */ export declare const StepSkipReason: (value: "pending" | "running" | "cancelled" | "completed" | "failed") => { [k: string]: "pending" | "running" | "cancelled" | "completed" | "failed"; }; /** Number of arguments passed to the step function */ export declare const StepArgumentsCount: (value: number) => { [k: string]: number; }; /** Type of the step result */ export declare const StepResultType: (value: string) => { [k: string]: string; }; /** Name of the error that caused step failure */ export declare const StepErrorName: (value: string) => { [k: string]: string; }; /** Error message when step fails */ export declare const StepErrorMessage: (value: string) => { [k: string]: string; }; /** Whether the step failed with a fatal error (no retries) */ export declare const StepFatalError: (value: boolean) => { [k: string]: boolean; }; /** Whether all retry attempts have been exhausted */ export declare const StepRetryExhausted: (value: boolean) => { [k: string]: boolean; }; /** Number of seconds to wait before next retry attempt */ export declare const StepRetryTimeoutSeconds: (value: number) => { [k: string]: number; }; /** Whether the step will be retried after this failure */ export declare const StepRetryWillRetry: (value: boolean) => { [k: string]: boolean; }; /** Messaging system identifier (standard OTEL: messaging.system) */ export declare const MessagingSystem: (value: string) => { [k: string]: string; }; /** Destination name/queue name (standard OTEL: messaging.destination.name) */ export declare const MessagingDestinationName: (value: string) => { [k: string]: string; }; /** The message id being handled (standard OTEL: messaging.message.id) */ export declare const MessagingMessageId: (value: string & import("zod").$brand<"MessageId">) => { [k: string]: string & import("zod").$brand<"MessageId">; }; /** Operation type (standard OTEL: messaging.operation.type) */ export declare const MessagingOperationType: (value: "publish" | "receive" | "process") => { [k: string]: "publish" | "receive" | "process"; }; /** Time taken to enqueue the message in milliseconds (workflow-specific) */ export declare const QueueOverheadMs: (value: number) => { [k: string]: number; }; /** Unique identifier for the deployment environment */ export declare const DeploymentId: (value: string) => { [k: string]: string; }; /** Token identifying a specific hook */ export declare const HookToken: (value: string) => { [k: string]: string; }; /** Unique identifier for a hook instance */ export declare const HookId: (value: string) => { [k: string]: string; }; /** Whether a hook was found by its token */ export declare const HookFound: (value: boolean) => { [k: string]: boolean; }; /** Number of webhook handlers triggered */ export declare const WebhookHandlersTriggered: (value: number) => { [k: string]: number; }; export declare const WorkflowSuspensionState: (value: "suspended") => { [k: string]: "suspended"; }; export declare const WorkflowSuspensionHookCount: (value: number) => { [k: string]: number; }; export declare const WorkflowSuspensionStepCount: (value: number) => { [k: string]: number; }; export declare const WorkflowSuspensionWaitCount: (value: number) => { [k: string]: number; }; /** HTTP request method (standard OTEL: http.request.method) */ export declare const HttpRequestMethod: (value: string) => { [k: string]: string; }; /** Full URL of the request (standard OTEL: url.full) */ export declare const UrlFull: (value: string) => { [k: string]: string; }; /** Server hostname (standard OTEL: server.address) */ export declare const ServerAddress: (value: string) => { [k: string]: string; }; /** Server port (standard OTEL: server.port) */ export declare const ServerPort: (value: number) => { [k: string]: number; }; /** HTTP response status code (standard OTEL: http.response.status_code) */ export declare const HttpResponseStatusCode: (value: number) => { [k: string]: number; }; /** Error type when request fails (standard OTEL: error.type) */ export declare const ErrorType: (value: string) => { [k: string]: string; }; /** Format used for parsing response body (cbor or json) */ export declare const WorldParseFormat: (value: "cbor" | "json") => { [k: string]: "cbor" | "json"; }; /** Number of pagination pages loaded when fetching workflow events */ export declare const WorkflowEventsPagesLoaded: (value: number) => { [k: string]: number; }; /** Time spent deserializing the queue message in milliseconds */ export declare const QueueDeserializeTimeMs: (value: number) => { [k: string]: number; }; /** Time spent executing the handler logic in milliseconds */ export declare const QueueExecutionTimeMs: (value: number) => { [k: string]: number; }; /** Time spent serializing the response in milliseconds */ export declare const QueueSerializeTimeMs: (value: number) => { [k: string]: number; }; /** Whether this serialize/deserialize was a write or read. */ export declare const SerializationOperation: (value: "serialize" | "deserialize") => { [k: string]: "serialize" | "deserialize"; }; /** Whether a compression codec was applied (write) / present (read). */ export declare const SerializationCompressed: (value: boolean) => { [k: string]: boolean; }; /** Which compression codec applied / was present (`zstd`, `gzip`, or `none`). */ export declare const SerializationCodec: (value: "zstd" | "gzip" | "none") => { [k: string]: "zstd" | "gzip" | "none"; }; /** Logical (uncompressed, devalue-prefixed) payload size in bytes. */ export declare const SerializationUncompressedBytes: (value: number) => { [k: string]: number; }; /** Stored (post-compression, pre-encryption) payload size in bytes. */ export declare const SerializationStoredBytes: (value: number) => { [k: string]: number; }; /** Fraction of bytes saved by compression (0..1); set only when compressed. */ export declare const SerializationCompressionRatio: (value: number) => { [k: string]: number; }; /** The remote service name for Datadog service maps (Datadog-specific: peer.service) */ export declare const PeerService: (value: string) => { [k: string]: string; }; /** RPC system identifier (standard OTEL: rpc.system) */ export declare const RpcSystem: (value: string) => { [k: string]: string; }; /** RPC service name (standard OTEL: rpc.service) */ export declare const RpcService: (value: string) => { [k: string]: string; }; /** RPC method name (standard OTEL: rpc.method) */ export declare const RpcMethod: (value: string) => { [k: string]: string; }; /** Whether the error is retryable (workflow-specific) */ export declare const ErrorRetryable: (value: boolean) => { [k: string]: boolean; }; /** Error category (workflow-specific: fatal, retryable, transient) */ export declare const ErrorCategory: (value: "fatal" | "retryable" | "transient") => { [k: string]: "fatal" | "retryable" | "transient"; }; //# sourceMappingURL=semantic-conventions.d.ts.map