From 32f4cb5cbba313b7af2fce46139c04d9469cb72a Mon Sep 17 00:00:00 2001 From: Kleidi Bujari Date: Fri, 24 Jan 2025 12:14:23 -0500 Subject: 25-jan sprint --- mod/tools/perf-flamegraph.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 mod/tools/perf-flamegraph.nix (limited to 'mod/tools/perf-flamegraph.nix') diff --git a/mod/tools/perf-flamegraph.nix b/mod/tools/perf-flamegraph.nix new file mode 100644 index 0000000..b472b74 --- /dev/null +++ b/mod/tools/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 +'' -- cgit v1.3.1