depot/third_party/tvl/tools/perf-flamegraph.nix
Default email c4fb0432ae Project import generated by Copybara.
GitOrigin-RevId: 3fc1143a04da49a92c3663813c6a0c1e8ccd477f
2020-09-29 23:42:59 -04:00

12 lines
410 B
Nix

# 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
''