All docs
Docs · Core concepts
Visibility
Visiblity at every steps makes ease of debugging a core feature of Thanks, Computer.
Everything leaves a trace
Unlike many application environments, you can trace every input and every output in a Thanks Computer request.
Every flow can leave a complete, browsable record: the envelope that arrived, every operation that fired, what each received and returned, how long it took, and the final response.
No rerun, no debug logging, no print statements — the answer to “what did this request do?” is sitting on disk. Each flow is one beat of a longer-running matter; read its traces together and you have its story so far.
Traces via CLI
You can access traces via the txco tui too:
txco trace # recent flows: rid, source, route, duration
txco trace last # step-by-step table for the most recent flow
txco trace <rid> # …or any specific one Two operations that ran at the same step show up side by side — the
trace makes parallelism visible. The same explorer lives in the
chassis’s web UI, and txco demo opens with tracing on, so the
feedback loop while learning is: fire an event, read its trace.
Dial in how much is kept
--trace-mode controls the cost:
| Mode | What’s written |
|---|---|
off | Nothing (the default). Zero cost. |
summary | Timings, sizes, what fired — no payload bytes. |
full | Everything, including each operation’s input and output. |
Traces are plain JSON files under --trace-dir, one folder per
request — greppable, shippable, diffable with the tools you already
have.
Keeping secrets out
Traces persist whatever the rules touched, so any rule can scrub its own trail — without affecting the live data the flow computes on:
WITH redact = "_txc.web.req.headers.authorization" # value → "[REDACTED]"
WITH omit = "_txc.lmtp.msg.attachments" # field vanishes Metrics
Traces answer “what did this request do?“. For counting things — your application’s metrics, and the chassis’s own OpenTelemetry signals — see Telemetry.