UNPKG

@temporalio/interceptors-opentelemetry

Version:
17 lines (16 loc) 777 B
import * as otel from '@opentelemetry/api'; import type { Next, WorkflowSignalInput, WorkflowStartInput, WorkflowClientInterceptor } from '@temporalio/client'; export interface InterceptorOptions { readonly tracer?: otel.Tracer; } /** * Intercepts calls to start a Workflow. * * Wraps the operation in an opentelemetry Span and passes it to the Workflow via headers. */ export declare class OpenTelemetryWorkflowClientInterceptor implements WorkflowClientInterceptor { protected readonly tracer: otel.Tracer; constructor(options?: InterceptorOptions); start(input: WorkflowStartInput, next: Next<WorkflowClientInterceptor, 'start'>): Promise<string>; signal(input: WorkflowSignalInput, next: Next<WorkflowClientInterceptor, 'signal'>): Promise<void>; }