Skip to content

Commit 55ee61c

Browse files
mpstatonclaude
andcommitted
doc(README, issue): adopt gonzo for log viewing — the right-sized observability tier
Add a README Observability section and wire gonzo into the API-speed issue: brew install gonzo (or nix run github:control-theory/gonzo) — a k9s-style real-time log-analysis TUI. Pipe `docker compose logs -f | gonzo` or `railway logs --service <svc> | gonzo` to watch the cross-service boot handshake while the browser prints its performance.now() timings. OTLP receiver is the tracing bridge if/when needed; no metrics/tracing platform at one user. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018UYTYu4MAFZ7iyr2VTo2kq
1 parent 906386b commit 55ee61c

2 files changed

Lines changed: 42 additions & 1 deletion

File tree

README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,34 @@ Notes:
180180
- **The E2E group (I)** stands up a disposable backend (throwaway Docker NATS + in-memory SurrealDB + the resolver, workspace-service, and content-ingest) and tears it down after — so it needs **Docker running** and the `surreal` CLI. It uses ports `3199`/`4223`; if an interrupted run leaves anything behind, clear it with `docker rm -f augment-e2e-nats` and `pkill -f "tsx src/server.ts"`.
181181
- **No `ws` package** — the transport tests run against a hand-rolled RFC-6455 server and every client uses the platform-native `WebSocket`.
182182

183+
## Observability
184+
185+
At current scale (single operator) there is **no metrics/tracing platform**
186+
that would be over-engineering. Log viewing is handled by
187+
[**gonzo**](https://github.com/control-theory/gonzo), a k9s-style real-time
188+
log-analysis TUI (streaming charts, pattern detection, filtering, an optional
189+
OTLP receiver). Install it with:
190+
191+
```bash
192+
brew install gonzo
193+
# or, from the monorepo dev shell: nix run github:control-theory/gonzo
194+
```
195+
196+
Gonzo reads stdin/pipes, files, or OTLP — so point any service log stream at it:
197+
198+
```bash
199+
docker compose logs -f | gonzo # the whole local backend stack, live
200+
railway logs --service workspace-service | gonzo # a deployed service
201+
gonzo -f ./some-service.log --follow # a captured file
202+
```
203+
204+
This is the tooling home for the boot-latency work in
205+
[`context-v/issues/Refactoring-for-API-Speed.md`](context-v/issues/Refactoring-for-API-Speed.md):
206+
watch the cross-service handshake (workspace-service → resolver → content-ingest)
207+
in one pane while the frontend prints its own `performance.now()` boot timings in
208+
the browser console. Gonzo's OTLP receiver (`--otlp-enabled`) is the bridge if we
209+
ever add tracing — but that's deferred until team scale, not one user.
210+
183211
## Deployment
184212

185213
The humain-vc single-tenant instance runs live on **Railway** at

context-v/issues/Refactoring-for-API-Speed.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,20 @@ below is gated on what it shows. Pair it with the browser Network waterfall
9595
(free) and, if cross-service correlation is needed, a request_id threaded
9696
shell → workspace-service → resolver (deferred until tier-1 proves insufficient).
9797

98-
A full observability stack (OTel/Prometheus/dashboards) is **explicitly not
98+
For the **server side** of the same picture, view the service logs with
99+
[**gonzo**](https://github.com/control-theory/gonzo) — a k9s-style real-time
100+
log-analysis TUI (`brew install gonzo`, or `nix run github:control-theory/gonzo`
101+
from the monorepo dev shell). Pipe the cross-service handshake into one pane
102+
while the browser prints its boot timings:
103+
104+
```bash
105+
docker compose logs -f | gonzo # local backend stack
106+
railway logs --service workspace-service | gonzo # a deployed service
107+
```
108+
109+
Gonzo's OTLP receiver (`--otlp-enabled`, gRPC 4317 / HTTP 4318) is the bridge if
110+
tier-1 timings + logs prove insufficient and we add real tracing. A full
111+
observability stack (OTel pipelines/Prometheus/dashboards) is **explicitly not
99112
needed** at one user — same right-sizing thesis. Boot instrumentation lives near
100113
[[No-User-Visibility-Into-State-Needs-A-State-Inspector]] / the live-not-live
101114
indicator work.

0 commit comments

Comments
 (0)