UNPKG

@temporalio/interceptors-opentelemetry

Version:
33 lines (32 loc) 2.35 kB
import './runtime'; import * as otel from '@opentelemetry/api'; import { ActivityInput, ContinueAsNewInput, DisposeInput, GetLogAttributesInput, LocalActivityInput, Next, SignalInput, SignalWorkflowInput, StartChildWorkflowExecutionInput, WorkflowExecuteInput, WorkflowInboundCallsInterceptor, WorkflowInternalsInterceptor, WorkflowOutboundCallsInterceptor } from '@temporalio/workflow'; export * from './definitions'; /** * Intercepts calls to run a Workflow * * Wraps the operation in an opentelemetry Span and links it to a parent Span context if one is * provided in the Workflow input headers. */ export declare class OpenTelemetryInboundInterceptor implements WorkflowInboundCallsInterceptor { protected readonly tracer: otel.Tracer; execute(input: WorkflowExecuteInput, next: Next<WorkflowInboundCallsInterceptor, 'execute'>): Promise<unknown>; handleSignal(input: SignalInput, next: Next<WorkflowInboundCallsInterceptor, 'handleSignal'>): Promise<void>; } /** * Intercepts outbound calls to schedule an Activity * * Wraps the operation in an opentelemetry Span and passes it to the Activity via headers. */ export declare class OpenTelemetryOutboundInterceptor implements WorkflowOutboundCallsInterceptor { protected readonly tracer: otel.Tracer; scheduleActivity(input: ActivityInput, next: Next<WorkflowOutboundCallsInterceptor, 'scheduleActivity'>): Promise<unknown>; scheduleLocalActivity(input: LocalActivityInput, next: Next<WorkflowOutboundCallsInterceptor, 'scheduleLocalActivity'>): Promise<unknown>; startChildWorkflowExecution(input: StartChildWorkflowExecutionInput, next: Next<WorkflowOutboundCallsInterceptor, 'startChildWorkflowExecution'>): Promise<[Promise<string>, Promise<unknown>]>; continueAsNew(input: ContinueAsNewInput, next: Next<WorkflowOutboundCallsInterceptor, 'continueAsNew'>): Promise<never>; signalWorkflow(input: SignalWorkflowInput, next: Next<WorkflowOutboundCallsInterceptor, 'signalWorkflow'>): Promise<void>; getLogAttributes(input: GetLogAttributesInput, next: Next<WorkflowOutboundCallsInterceptor, 'getLogAttributes'>): Record<string, unknown>; } export declare class OpenTelemetryInternalsInterceptor implements WorkflowInternalsInterceptor { dispose(input: DisposeInput, next: Next<WorkflowInternalsInterceptor, 'dispose'>): Promise<void>; }