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 ++++++++++++ mod/tools/typst/default.nix | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 mod/tools/perf-flamegraph.nix (limited to 'mod/tools') 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 +'' diff --git a/mod/tools/typst/default.nix b/mod/tools/typst/default.nix index 3f81658..5f809d6 100644 --- a/mod/tools/typst/default.nix +++ b/mod/tools/typst/default.nix @@ -28,6 +28,6 @@ in depotPackages ]; - shellHook = "export XDG_DATA_HOME=${depotPackages}/share:$XDG_DATA_HOME"; + shellHook = "alias typst='export XDG_DATA_HOME=${depotPackages}/share:$XDG_DATA_HOME'"; }; } -- cgit v1.3.1