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
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
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()