Code execution as data with omni-trace
summary
Omni-trace captures runtime call graphs in Clojure, instruments whole namespaces or single functions, and visualizes executions in Portal so calls, inputs and outputs are clickable; a real demo finds a bug where a penny is misvalued and a taco purchase incorrectly succeeds. It integrates with VS Code to open source at a call site and replay inputs, traces into ClojureScript (but builds slower), and runs about 10–20x slower so it’s for development only; the project is single-developer.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:04Why tracing matters
- 3:57Evolution of Clojure tooling
- 8:05Homoiconicity benefits
- 9:30Execution as data
- 11:17Debugging vending machine
- 15:53Visualizing trace data
- 18:17Building on traces
- 20:43Tracing ClojureScript/core
- 22:31Interactive visualization
- 24:17Why it works in Clojure
- 25:21Architecture of omni-trace
- 26:03Future plans








