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.

image

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.

image

Dial in how much is kept

--trace-mode controls the cost:

ModeWhat’s written
offNothing (the default). Zero cost.
summaryTimings, sizes, what fired — no payload bytes.
fullEverything, 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

Open Telemetry Support

If you run your own chassis you can inspect each event via standard Open Telemetry signals. Just configure your environment and point the chassis there:

// Configuration is via standard OTel environment variables:
//   - OTEL_EXPORTER_OTLP_ENDPOINT   (e.g. http://localhost:4318)
//   - OTEL_EXPORTER_OTLP_PROTOCOL   (http/protobuf | grpc)
//   - OTEL_SERVICE_NAME             (default: txco-chassis)
//   - OTEL_RESOURCE_ATTRIBUTES      (extra resource attributes)

Edit this page · View as markdown