n8n
Version:
n8n Workflow Automation Tool
26 lines (25 loc) • 1.27 kB
TypeScript
import { Logger } from '@n8n/backend-common';
import type { Context } from '@opentelemetry/api';
import { type StartWorkflowParams, type EndWorkflowParams, type StartNodeParams, type EndNodeParams } from './execution-level-tracer.types';
import { OtelSettingsService } from './otel-settings.service';
import type { TracingContext } from './tracing-context';
export declare class ExecutionLevelTracer {
private readonly otelSettingsService;
private readonly logger;
private readonly activeWorkflowSpans;
private readonly activeNodeSpansByExecutionId;
private tracer;
refreshTracer(): void;
constructor(otelSettingsService: OtelSettingsService, logger: Logger);
startWorkflow(params: StartWorkflowParams): TracingContext;
endWorkflow(params: EndWorkflowParams): void;
startNode(params: StartNodeParams): void;
endNode(params: EndNodeParams): void;
getActiveContext(executionId: string, nodeName?: string): Context | undefined;
injectTraceHeaders(executionId: string, nodeName: string | undefined, headers: Record<string, string>): void;
private parseTraceParentHeaders;
private buildContinuationLinks;
private findWorkflowSpanContext;
private findMostSpecificSpan;
private endDanglingNodeSpans;
}