Collect pipeline profiles on every platform node #107
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/profiler-platform-pool"
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?
Flame graphs looked "randomly unavailable" on the dashboard: build #1736 showed "No profile samples were recorded for this interval" for every profile kind, while other builds had samples.
Root cause: the
pipeline-profilerDaemonSet selected nodes by hostname, and the list named the four amd64 workers that the ARM migration replaced (seanfarm-worker-07b866,-42afba,-a40389,-b6ceba). The current workers areseanfarm-worker-arm-*. Since the replacement the profiler ran on the canary only. The sharedbinjovi-buildkitdaemon runs onseanfarm-worker-arm-a40389, so every Build on the admission and release lanes had no samples, for CPU, off-CPU and the syscall kinds alike. Bytey Builds run on the canary and had samples. That is the "random" pattern.Change: placement follows the
node-pool=platformlabel. Every node in the pool gets a profiler and a node roll cannot remove one silently. The canary toleration stays.tests/check.shrefuses a worker name in the manifest.docs/pipeline-profiles.mdsays the pool, not a count.Verify after the deploy:
kubectl get pods -n alloy -l app.kubernetes.io/name=pipeline-profiler -o wideshows one Running pod per platform node, and a new admission-lane Build shows samples on its Performance tab.The matching binjovi change (the raw capture node list in
config/runtime.exs) goes in the next binjovi pull request.https://claude.ai/code/session_01XdBRc9CHgFhAxCyHbdVtt6