Skip to main content

Reducers

Argus provides built-in logging and an optional terminal UI dashboard to help you monitor sync progress and debug issues. You can configure logging behavior and enable or disable the TUI in your appsettings.json.


Text-based Logging

By default, Argus uses .NET’s ILogger infrastructure. Configure log levels under the Logging section:

"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.EntityFrameworkCore.Database.Command": "Warning"
}
}
  • Default controls general library and application logs.
  • Microsoft.EntityFrameworkCore.Database.Command limits EF Core SQL command verbosity.

When running normally (TUI disabled), logs output to the console or any registered providers (e.g., file, Application Insights).


Terminal UI Dashboard (TUI)

For interactive monitoring during development or debugging, enable the TUI under Sync.Dashboard:

"Sync": {
"Dashboard": {
"TuiMode": true,
"DisplayType": "sync",
"RefreshInterval": 5000
}
}
SettingDescriptionDefault
TuiModetrue to activate TUI, false for plain text logs.true
DisplayTypesync shows progress bars per reducer; full adds overall stats, CPU/mem.sync
RefreshIntervalUI refresh rate in milliseconds.5000

Sync Display

When DisplayType is sync, you’ll see:

  • A progress bar for each registered reducer, indicating percentage synced relative to the current blockchain tip.
  • Slot numbers and throughput metrics.

Full Display

When DisplayType is full, the dashboard includes:

  • Individual reducer progress bars.
  • An overall sync progress indicator.
  • CPU and memory usage statistics for your process.
Production Logging

The TUI is best for local development and performance tuning. In production, it's recommended to disable TuiMode and integrate with standard logging providers for your telemetry stack.