Documentation
¶
Overview ¶
o11y is the observability subsystem built as its OWN binary.
It is an ordinary zip app. There is no SDK, no schema and nothing plugin-specific in here except zip.Addr — which is the whole plugin contract: serve on the socket a host handed us, or on our own port when run directly. The same binary therefore covers both deployments without a second code path.
It mounts EXACTLY what apps.Wire() used to mount in-process, by calling the same o11y.MountO11y. The subsystem's code did not move and did not fork; only the process it runs in changed, which is the point — where a subsystem runs is a deployment decision, not a property of the source.
This replaces the cmd/gen-app-cmds stub that used to live here. That stub called apps.ServeSingle("o11y"), which reaches apps.Wire() and therefore links EVERY subsystem — 4.3k packages and a ~500MB binary to serve one app. A plugin app is its own composition root, so it links only its own graph. The generator no longer writes this file: it emits a stub per {Name: "..."} literal in Wire(), and o11y's entry is now a cloud.PluginSpec call, so it is skipped by shape.