Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cerulion.com/llms.txt

Use this file to discover all available pages before exploring further.

While a graph runs, every wired port becomes a topic you can observe. This guide covers listing and watching live topics, the interactive dashboard, and reading trace bag files after a run.
The topic commands use iceoryx2 service discovery, so they work from any directory β€” no workspace required. Run them in a second terminal while a graph is running.

List and inspect live topics

cerulion topic list enumerates active topics, sorted by name.
cerulion topic list
TOPIC
perception/camera/image
perception/detector/detections
If nothing is publishing, it prints No active topics. cerulion topic info <topic> prints details for a single topic:
cerulion topic info perception/camera/image

Watch messages with echo

cerulion topic echo <topic> subscribes and prints each message until you press Ctrl+C.
cerulion topic echo perception/camera/image
Echo pretty-prints std_msgs/String and sensor_msgs/Image messages (identified by their schema hash). For any other schema, it prints a hex preview of the payload.

Measure publish rate

cerulion topic hz <topic> measures how often a topic publishes, until Ctrl+C.
cerulion topic hz perception/camera/image
For the periodic camera created with --policy period_ms=33, topic hz should report roughly 30 Hz.

Open the interactive dashboard

cerulion tui launches an interactive terminal dashboard. Logging is suppressed while the TUI is open.
cerulion tui

Inspect recorded traces

cerulion trace inspect <dir> reads trace_*.jsonl bag files from a directory (in lexicographic order) and prints one line per record:
<topic> seq=<N> t=<ts>ns schema=0x<HASH>
FlagValueEffect
-t / --filterTOPICShow only records for this exact topic.
-n / --limitNPrint at most N records.
-r / --reverseβ€”Reverse order (most recent first).
cerulion trace inspect ./traces -t perception/camera/image -n 20 -r
cerulion trace inspect reads existing trace_*.jsonl bag files; there is no separate record command. The bag files are produced by the runtime’s built-in publish trace while a graph runs β€” you inspect them afterward with this command.

Clean up stale services

iceoryx2 keeps on-disk bookkeeping for each node. When a graph’s topology changes between runs, stale entries from dead nodes can cause discovery errors. cerulion clean removes bookkeeping for dead nodes only β€” live sibling processes are left untouched. It prints cleanup counts and per-cause remediation.
cerulion clean
Run cerulion clean if you rewire a graph and then see stale-service errors on the next graph run. It will not disturb a graph that is currently running.

Next steps

Wire and run a graph

Produce the topics you inspect here.

Messages and schemas

Understand the message shapes that echo prints.