Skip to main content
Version: Next

Console Progress

If you are using an interactive terminal, then a progress dialog will be displayed to you. This will attempt to show you estimated remaining time, and the current progress of all executing modules.

image

Long-running module output

Buffered output from modules that are still running is flushed once per minute by default. This preserves recent diagnostic output if the process is killed before normal pipeline teardown. Incremental sections use an ellipsis () because the module has not completed.

Configure the interval globally. Setting it to zero disables time-based flushing, but the entry threshold still protects against unbounded buffering:

builder.ConfigurePipelineOptions(options => options with
{
Console = options.Console with
{
ModuleOutputFlushInterval = TimeSpan.FromSeconds(30),
},
});

To keep all output buffered until each module completes, disable both triggers:

builder.ConfigurePipelineOptions(options => options with
{
Console = options.Console with
{
ModuleOutputFlushInterval = TimeSpan.Zero,
ModuleOutputFlushThreshold = 0,
},
});

Console.ModuleOutputFlushThreshold counts entries, not bytes. Its default is 1,000 entries per module.