posts
- Counts Match, Dashboards Don't: OTel Agent vs Starter
Swapping the OTel Java agent for a starter, which native requires, kept every exact count. Names, units, labels and buckets moved. What breaks, per target.
- The shutdown grace that never ran
A Go proxy's 5-second shutdown grace was dead code. A real drain and socket activation fixed restarts; KillMode, a WaitGroup and a lock needed fixes too.
- The proxy said unloaded. The model was loading.
A context probe gave up on four models loading behind my LLM proxy: its status was a snapshot up to 30 s old. Then a 336 ms stream timed at 120 s.
- The model that only says RUN
A fake model drove six coding-agent harnesses through dangerous commands. One block I had credited to a deny rule came from print mode having nobody to ask.
- The first engine on the A9 was started to be stopped
v0.3.1 would refuse any engine start on the A9 until its agent was replaced. Then my proxy started its first engine there, for a benchmark to take away.
- The design review found a Konsole tab
My own review of my LLM proxy found a measured MEDIUM. The design review's HIGHs included ssh riding a terminal tab and a help command that started the proxy.
- The benchmark said it was waiting. Once.
My LLM proxy must never pause the A9's benchmark queue. It couldn't see the queue between jobs, while it waited behind the proxy, or mid-handover.
- Konsole had the switch all along
Plasma went light and Konsole stayed dark. I dug the setting out of the binary with strings -e l. It had a checkbox, and my first test only ran in light mode.
- Java 25 Changes Your Telemetry in Strings, Not Code
A 21 to 25 move compiles fine. Then ZGC series rename, pinning metrics go quiet, -javaagent sidelines the AOT cache, and going native on top drops GC metrics.
- I kept measuring the thing next door
Two days of destructive disk cleanup on my workstation: what I misread, what a review of the plan caught, and the one mistake no measurement could catch.