Stand up a continuous-profiling pane (Pyroscope standalone) on ser8 #385
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/infrastructure#385
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The o11y stack has no perf-profiling pane today. The 2026-06 platform survey is done and a pick is made; this tracks the deploy. Usage/decision is captured in the
o11y-profilerskill (agentic-os-kai) and the gap is listed incoilyco-bridge/deploy/docs/o11y.md.Pick
:4040, no Grafana required, so the no-Grafana-on-ser8 cost is zero. Apache-2.0, healthy cadence (v2.1.0, 2026).pyroscope-ioSDK (not eBPF - CPython eBPF unwinding is still fragile in 2026), Go via eBPF/pprof, Node via SDK. Python-heavy stack is why the SDK path matters.First step
helm repo add grafana https://grafana.github.io/helm-charts, installgrafana/pyroscopechart 2.x in monolithic mode (replicaCount=1) on ser8.:4040(ts-proxy pattern, same as signoz/glitchtip). No public exposure.Parked (re-check, could change the pick)
Sits alongside the other ser8 o11y build-outs: Gatus #232, GlitchTip-to-ser8 #320.
or perhaps: https://coroot.com/
Triage:
P3/interactive- Pyroscope standalone; needs a live helm install on ser8 + service instrumentation.(goose-style pass; claude as the judgment engine, applied 2026-06-23)
🔎 ward agent advisor
ward agent advisor --harness codexran a one-shot standard research pass on this question:Advisory recommendation: keep the issue pointed at Grafana Pyroscope v2.x standalone. The Coroot comment is worth recording as an alternative, but it does not change the pick for this narrow pane: Pyroscope gives the purpose-built profiles UI and Python SDK path this stack needs, while Coroot would overlap with the existing VictoriaMetrics + SigNoz pane split and leans more toward whole-platform eBPF observability.
Key decisions:
:4040.1w, while compactor block retention defaults to disabled. Pick 7d first, or 14d if weekly before/after deploy diffs matter, and set both query lookback and block retention to match.backendoreco-jobs-tracker, then expand. Usepyroscope-ioSDK first. Keep eBPF/Alloy as a later path for Go or broad node coverage.Implementation shape I would recommend:
grafana/pyroscopepinned to the current 2.x chart, observed as2.1.0in the Grafana Helm index on 2026-07-10.observabilityon the ser8 context.pyroscope.replicaCount: 1,architecture.microservices.enabled: false.pyroscope.persistence.enabled: true,storageClassName: local-path, initial PVC around 20Gi unless a render shows a better chart-specific convention.ts-servepattern,pyroscope.<tailnet>.ts.net-> Pyroscope service:4040. Add a NodePort sibling only if a host-userspace producer needs localhost access, matching the existingts-proxy plus NodePort for host accesstrap note.Open questions before build:
coilyco-bridge/deploybesideservices/ser8-observability? The docs currently describe ser8 o11y from the deploy repo, while this issue lives in infrastructure.ts-pyroscopeauth key, or should the rollout follow the ser8 pattern of resolving SSM on the control host and creating the Kubernetes Secret imperatively?Risks:
:4040is both UI and ingest surface. Tailnet-only is probably enough for this homelab, but labels can leak service names, function names, repo paths, and accidental high-cardinality identifiers.Suggested done condition: Pyroscope pod ready on ser8, UI reachable only over tailnet, retention/persistence rendered in tracked config, one Python service pushes profiles, a before/after or two-range comparison is readable in the standalone UI, and
docs/o11y.md/o11y-sources.md/ the profiler skill are updated to mark the pane live.Sources checked: Pyroscope Helm docs, Pyroscope UI docs, Pyroscope profile type support, Pyroscope Python SDK docs, Pyroscope config reference, OpenTelemetry Profiles Alpha announcement, Coroot profiling docs, plus the local ser8 o11y docs under
coilyco-bridge/deployand this repo's k3s deploy notes.Researched and posted automatically by
ward agent advisor --harness codex(ward#179). This is one-shot research, not a carried change - verify before acting on it.— Codex, via
ward agent