diff options
| author | Kleidi Bujari <mail@4kb.net> | 2025-04-02 22:11:38 -0400 |
|---|---|---|
| committer | Kleidi Bujari <mail@4kb.net> | 2025-04-02 22:11:38 -0400 |
| commit | c950f338c5720a132552863a35d1c7924df3d3a6 (patch) | |
| tree | c3134c42e1618c255ca8e9e0698f90b0ae8b3563 /packages/perf-flamegraph.nix | |
| parent | b619ff9dd42eaa62569c8297142f0e4c719d40d2 (diff) | |
| parent | 09c2b6de63a6ff35348fcb2c2eb57b974f0a8a52 (diff) | |
| download | depot-c950f338c5720a132552863a35d1c7924df3d3a6.tar.gz depot-c950f338c5720a132552863a35d1c7924df3d3a6.tar.bz2 depot-c950f338c5720a132552863a35d1c7924df3d3a6.zip | |
Merge remote-tracking branch 'origin/copy-blueprint'
Diffstat (limited to 'packages/perf-flamegraph.nix')
| -rw-r--r-- | packages/perf-flamegraph.nix | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/perf-flamegraph.nix b/packages/perf-flamegraph.nix new file mode 100644 index 0000000..b472b74 --- /dev/null +++ b/packages/perf-flamegraph.nix @@ -0,0 +1,12 @@ +# Script that collects perf timing for the execution of a command and writes a +# flamegraph to stdout +{ pkgs, ... }: + +pkgs.writeShellScriptBin "perf-flamegraph" '' + set -euo pipefail + + ${pkgs.linuxPackages.perf}/bin/perf record -g --call-graph dwarf -F max "$@" + ${pkgs.linuxPackages.perf}/bin/perf script \ + | ${pkgs.flamegraph}/bin/stackcollapse-perf.pl \ + | ${pkgs.flamegraph}/bin/flamegraph.pl +'' |
