Logging & Reports
Legacy Days CSV logger lifecycle and output inventory.
Scope: Legacy Days. For the Days AGO result planes, see Results and traces.
The legacy actor runtime writes CSV files through CsvLogger.
CSV lifecycle
Topology::run initializes the process-wide logger from the scenario before it activates the simulation. Sources, sinks, schedulers, and optional protocol actors submit typed Report values. The logger buffers rows, flushes a report family when its buffer reaches the batch limit, and flushes the remaining rows after step_until finishes.
report_interval controls periodic actor reports. Its default is f64::MAX, so ordinary runs rely on final reports and the final flush.
csv_logging defaults to true. With csv_logging = false, the logger creates no directory, CSV file, or traces.json, and it discards report rows before they grow the report vectors. Aggregate sink totals and test-only correctness accounting still update.
Output inventory
With CSV logging enabled, initialization creates:
| File | Condition | Contents |
|---|---|---|
sources.csv | always | Source counters and rates. |
sinks.csv | always | Delivery counts and delay summaries. |
switches.csv | always | Scheduler queue and drop summaries. |
pfc.csv | l2_pfc | PFC ingress-port summaries. |
aqm_events.csv | lean | Per-decision AQM trace rows. |
cubic_events.csv | lean | Legacy CUBIC transition rows. |
drr_events.csv | lean | DRR enqueue and selection rows. |
wfq_events.csv | lean | WFQ enqueue, selection, and departure rows. |
dcqcn_events.csv | lean,dcqcn | DCQCN controller and CNP rows. |
pfc_events.csv | lean,l2_pfc | PFC threshold, frame, and gate rows. |
legacy_e5_metrics = true enables final TCP correctness reports. The logger creates tcp_metrics.csv when it flushes those rows; it does not create that file during normal initialization.
Final flush writes traces.json. Its trace list contains only nonempty feature-enabled *_events.csv files. LeanGuard can also discover a caller-provided tcp_events.csv through its directory-scan fallback, but the legacy logger does not create that file or list it in the manifest.
See Runtime and CSV configuration for log_path, csv_logging, and report settings.