Zum Hauptinhalt springen

IPipelineDebugger

Namespace: Meshmakers.Octo.Sdk.Common.EtlDataPipeline.Debugger

Interface for the pipeline debugger

public interface IPipelineDebugger

Properties​

Logger​

Returns the debugging logger

public abstract IPipelineLogger Logger { get; }

Property Value​

IPipelineLogger

Methods​

RegisterPipelineRtEntityId(RtEntityId, Guid)​

Registers the pipeline runtime entity id

void RegisterPipelineRtEntityId(RtEntityId pipelineRtEntityId, Guid pipelineExecutionId)

Parameters​

pipelineRtEntityId RtEntityId
Entity id of the pipeline

pipelineExecutionId Guid
Guid that identifies the pipeline execution instance

BeginPipelineExecution()​

Signals the beginning of the pipeline execution

void BeginPipelineExecution()

EndPipelineExecutionAsync()​

Signals the end of the pipeline execution

Task EndPipelineExecutionAsync()

Returns​

Task

LogInput(String, NodePath, String, UInt32, JsonNode)​

Logs the input of a node

void LogInput(string id, NodePath path, string description, uint sequenceNumber, JsonNode inputData)

Parameters​

id String
ID of the node

path NodePath
Path to the node

description String
Description of the node

sequenceNumber UInt32
Sequence number of the node within a transformation list

inputData JsonNode
Input data before a node is processed

LogOutput(String, NodePath, String, UInt32, JsonNode)​

Logs the output of a node

void LogOutput(string id, NodePath path, string description, uint sequenceNumber, JsonNode outputData)

Parameters​

id String
ID of the node

path NodePath
Path to the node

description String
Description of the node

sequenceNumber UInt32
Sequence number of the node within a transformation list

outputData JsonNode
Output data after a node is processed

RecordDryRunIntent(String, NodePath, String, UInt32, String, JsonNode)​

Records a dry-run "would-have-written" intent for a node — written into the debug point's / fields, analogous to how IPipelineDebugger.LogInput(String, NodePath, String, UInt32, JsonNode) / IPipelineDebugger.LogOutput(String, NodePath, String, UInt32, JsonNode) capture per-node data. Called by Load nodes via INodeContext.RecordDryRunIntent(String, Object) when the pipeline's IPipelineExecutionMode.IsDryRun is true.

void RecordDryRunIntent(string id, NodePath path, string description, uint sequenceNumber, string nodeTypeName, JsonNode intentData)

Parameters​

id String
ID of the node

path NodePath
Path to the node

description String
Description of the node (or null)

sequenceNumber UInt32
Sequence number of the node within a transformation list

nodeTypeName String
Node type name (e.g. ApplyChanges@1)

intentData JsonNode
JSON-serialised would-be payload, or null if the payload failed to serialise (the orchestrator logs a warning in that case)

AddSecretRegistry(PipelineSecretRegistry)​

Hands the debugger the secret registry of an execution (AB#5538). Every value registered in it — now or later in the run — is masked in the snapshots and dry-run intents the debugger captures from then on. Called by the root NodeContext; a debugger may receive more than one registry (a trigger's root context and the execution's root context) and must mask the values of all of them. The default implementation ignores the registry, so a custom debugger keeps compiling — but shows revealed secrets until it implements this.

void AddSecretRegistry(PipelineSecretRegistry registry)

Parameters​

registry PipelineSecretRegistry
The registry of the execution

GetDebugInformation()​

Gets the debug information

DebugInformationRoot GetDebugInformation()

Returns​

DebugInformationRoot