Skip to main content

Run FlowLog

Use the generator to lower FlowLog programs into Timely/Differential binaries.

cargo run -p generator -- path/to/program.dl -F facts/ -o demo-app
cd ../demo-app
cargo run --release

CLI flags

FlagDescriptionRequiredNotes
PROGRAMPath to a .dl file. Accepts all/--all to iterate over every program in examples/.YesPaths are workspace-relative unless absolute.
-F, --fact-dir <DIR>Directory containing CSV facts referenced via .input.When using relative .input pathsPrepends <DIR> to every filename= entry.
-o, --output <NAME>Override the generated Cargo package name.NoDefaults to <PROGRAM> stem and writes beside the repo.
-D, --output-dir <DIR>Destination for .output relations.When .output is presentPass - to stream tuples to stderr.
--mode <MODE>Execution semantics: batch (default) or incremental.NoIncremental uses signed diffs to enable live updates.

Run modes

  • Batch: easiest for single-shot analyses. Generated binaries ingest all facts, compute a fixpoint, and exit.
  • Incremental: keeps Timely workers alive and applies changes as new facts arrive. Use this for continuous telemetry pipelines.

If you change the FlowLog program, rerun the generator to refresh the Cargo workspace, then rebuild with cargo run --release.