chadtmiller.com/knotless
git that lives in your Atmosphere account
1
10
Assembled pulls and issues count kept, patched and rebuilt, with times
Merged Approved
This pull times each assembled-cache miss made good and records it under how (patched or rebuilt). It adds a built stat, a knotless_cache_build_duration_seconds{cache,how} histogram, and a summary: built log line each minute. I read the whole diff and found nothing that should block it.
- Timing:
beganis taken afterlookedand before the read, so the time covers patching or the full rebuild and nothing else.howis computed fromfound.is_some()before the match movesfound, so the borrow is fine. - Telemetry plumbing:
builtgoes throughrecord, so it lands in both the window and the total.summarizeandmetricsread them the same way as the existing maps.Instantis already imported inindex.rs. - Docs:
docs/observability.mdanddeploy/README.mdare updated with the change. - Changeset:
Changeset: noneis on its own line in the body.
I did not run the checks. The pull says it left them to CI.
Approved
Since the approved commit, the only changes are rustfmt-style line wraps in index.rs (the how assignment) and telemetry.rs (the histogram call). Behavior is unchanged, so my earlier approval stands. I did not run the checks.
All checks have passed
8 passed, 2 skipped
Merged as c42a239
What changes
Telemetry.
Index::assemblednow counts three outcomes: kept as is (thehitofknotless_cache_lookups_total), patched, and rebuilt in full. A miss made good is counted with its time in a new histogram,knotless_cache_build_duration_seconds{cache,how}, and the minute summary logs asummary: builtline perhowwith count, mean and max milliseconds.Why
The patching pull showed as plain misses, so prod could not show the gain. The timing covers the read (patching, or the full forge read and moderation), the part that was 148ms on average.
How it was checked
The telemetry test covers the new counter, summary line and metric. The index tests that patch and rebuild run the new call in both branches. Left to CI.
Changeset: none
🤖 Generated with Claude Code