04ae293360
Add tools.perf-flamegraph, which collects the base case execution of perf piped through stackcollapse-perf and flamegraph to flamegraph the execution of an external command via perf. Change-Id: I671fe254dc374b6cd7deca2d3bdea266164de025 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1176 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
12 lines
394 B
Nix
12 lines
394 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 -a -F max "$@"
|
|
${pkgs.linuxPackages.perf}/bin/perf script \
|
|
| ${pkgs.flamegraph}/bin/stackcollapse-perf.pl \
|
|
| ${pkgs.flamegraph}/bin/flamegraph.pl
|
|
''
|