Repository navigation
Replies: 3 comments
|
Numbers from a Windows desktop install, 0.0.41-nightly.20260908.1414, 12 projects, idle: ~200 MB of
|
|
Another data point, from a 21-minute window of a Linux/WSL desktop install (nightly 0.0.46-20261011, about seven agents streaming, 212,821 spans, 111 MB). The 10 × 10 MiB window covered about 20 minutes. By bytes: database spans ( Tracing cost on that path measured about 0.1 ms per write, around 0.05% of a core, so this is about disk and history length, not CPU. I opened a PR for this: #18106. It stops tracing the statements inside event-write transactions (the transaction span still times each write), keeps startup attributes off the effect worker's spans, and untraces the three |
|
Current-nightly trace-retention data, consolidated from three audits rather than posting each measurement separately. Installed build was Linux captured approximately 112.6 MB / 256k spans in 2.75 hours (about 41 MB/hour), so the default rotating files retained only a few hours of diagnostic history. By serialized span bytes in that window:
The exact split shifts with workload and capture cutoff; these are not additive categories across machines. Hidden child candidates explain a large part of settlement volume on this host (151 of 183 candidates; #19657). The Mac desktop capture also showed repeated topology No material tracing CPU stall was established. The demonstrated problem is short useful diagnostic retention from large numbers of cheap/repeated spans. Normal Mac sleep/wake reconnects and machine-wide swap pressure were not counted as T3 regressions. |
Uh oh!
There was an error while loading. Please reload this page.
Before submitting
Area
apps/server
Steps to reproduce
t3 serve.~/.t3/userdata/logs/server.trace.ndjsonand its rotated siblings.Expected behavior
Span export to disk is off by default in a long-running server, or can be disabled through a documented flag or environment variable.
Actual behavior
The server writes Effect tracing spans to
~/.t3/userdata/logs/server.trace.ndjsonfor the whole life of the process. The file rotates through 11 files of 10 MB, a new one roughly every 12 minutes under ordinary use, indefinitely.Records are marked
"sampled":truewith no sampling reduction, and spans are emitted per terminal event, so the volume tracks terminal output rather than anything the operator configures.There is no supported way to turn it off:
T3CODE_TRACE_FILEchanges the path but does not disable the exporter, and the directory creation for it runs unconditionally.T3CODE_LOG_LEVELdefaults toInfoand governs the logger, not this file.t3 serve --helpexposes no tracing or verbosity control.Impact
Major degradation or frequent failure
Version or commit
0.0.34and0.0.36Environment
Platform-independent; reproduced on Linux with the published npm releases.
Logs or stack traces
{"type":"effect-span","name":"terminal.queuePersist","sampled":true,...} {"type":"effect-span","name":"terminal.drainProcessEvents","sampled":true,...}Workaround
Point
T3CODE_TRACE_FILEat a path on atmpfs, so the writes never reach persistent storage.Related
All reactions