@temporalio/interceptors-opentelemetry
Version:
Temporal.io SDK interceptors bundle for tracing with opentelemetry
17 lines (16 loc) • 777 B
TypeScript
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>;
}