Class RecordingProbeExecutor

Namespace
Kuestenlogik.Bowire.Monitoring
Assembly
Kuestenlogik.Bowire.Monitoring.dll

The wire-level IProbeExecutor — replays a probe's saved BowireRecording through the same protocol plugins the workbench uses. Each step is dispatched via InvokeAsync(string, string, string, List<string>, bool, Dictionary<string, string>?, CancellationToken); the last step's status + response become the probe's result and the summed plugin-reported durations its latency. A missing plugin or a transport failure surfaces as ProbeExecutionException so the runner records an Error outcome.

public sealed class RecordingProbeExecutor : IProbeExecutor
Inheritance
RecordingProbeExecutor
Implements
Inherited Members

Remarks

This is where Monitoring leaves the Core-slim boundary and touches the protocol registry; the host supplies the registry (the standalone CLI discovers the installed plugins). Streaming steps aren't a health-probe shape and are dispatched through the unary path like everything else — a probe author points a probe at a unary call.

Constructors

RecordingProbeExecutor(BowireProtocolRegistry, bool)

public RecordingProbeExecutor(BowireProtocolRegistry registry, bool showInternalServices = false)

Parameters

registry BowireProtocolRegistry
showInternalServices bool

Methods

ExecuteAsync(Probe, CancellationToken)

Run the probe's recording once against its bound target.

public Task<ProbeExecutionResult> ExecuteAsync(Probe probe, CancellationToken ct = default)

Parameters

probe Probe
ct CancellationToken

Returns

Task<ProbeExecutionResult>