Log aggregation for operators who host their own machines.
Every site here ships its own structured records over the internal bridge. Latency percentiles, status distributions, error rates, and full text search. Your data never leaves your infrastructure.
Each site tees its slog records onto a bounded queue a goroutine flushes. Nothing blocks the caller and stdout stays the source of truth.
Sites post to a container name on the internal bridge, and the public
hostname refuses /ingest outright. No shared secret to
rotate.
Records batch into one writer with the rollup in the same transaction, so the graphs cannot disagree with the search. Raw lines expire on a schedule and the counters do not.
Percentiles come from the actual distribution rather than an interpolation, and paths rank by p95 rather than mean.
Anything crossing the tunnel carries a CF-Ray, so a
request logged without one reached the origin directly. It is a tile
on the dashboard.
Go, html/template, and SQLite through a pure-Go driver,
with the Vite bundle compiled in. Typst renders the PDF report.