# Visibility Visiblity at every steps makes ease of debugging a core feature of [Thanks, Computer](https://www.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. image ## Traces via CLI You can access traces via the `txco` tui too: ```sh txco trace # recent flows: rid, source, route, duration txco trace last # step-by-step table for the most recent flow txco trace # …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. image ## 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: ```txcl 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](./telemetry.md)**.