agent-joule/script/collab-flamegraph
David Charlot a084434e14 Baseline: hard fork of zed@e2e7a67
Fork point for agent-zed. Editor core retained; AI/telemetry/cloud layers
to be ripped and replaced per FORK_MAP.md.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-05-30 08:20:23 -04:00

33 lines
1.1 KiB
Shell
Executable file

#!/usr/bin/env bash
# Notes for fixing this script if it's broken:
# - if you see an error about "can't find perf_6.1" you need to install `linux-perf` from the
# version of Debian that matches the host (e.g. apt-get -t bookworm-backports install linux-perf)
# - if you see an error about `addr2line` you may need to install binutils
set -euo pipefail
source script/lib/deploy-helpers.sh
if [[ $# != 1 ]]; then
echo "Usage: $0 <production|staging>"
exit 1
fi
environment=$1
target_zed_kube_cluster
# 5s in production is ~200Mb..., in staging you probably want to bump this up.
echo "Running perf on collab, collecting 5s of data..."
kubectl -n $environment exec -it deployments/collab -- perf record -p 1 -g -m 64 --call-graph dwarf -- sleep 5
run="collab-$environment-$(date -Iseconds)"
echo "Processing data and downloading to '$run.perf'..."
kubectl -n $environment exec -it deployments/collab -- perf --no-pager script > "$run.perf"
which inferno-flamegraph 2>/dev/null || (echo "installing inferno..."; cargo install inferno)
inferno-collapse-perf "$run.perf" | inferno-flamegraph > "$run.svg"
open "./$run.svg"