From 9d8c62a6e1f28491377b7000a6505c08630dc48c Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Thu, 16 Jun 2022 17:20:22 -0700 Subject: ref(scripts): remove the module for scripts The scripts should be part of other modules. If there's no good place for them, they should be part of the packages module. Change-Id: Ic6c678fbe981444848a0ac7015c6c2e450f3b1c1 Reviewed-on: https://cl.fcuny.net/c/world/+/424 Tested-by: CI Reviewed-by: Franck Cuny --- modules/system/packages/default.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'modules/system/packages/default.nix') diff --git a/modules/system/packages/default.nix b/modules/system/packages/default.nix index 84cfac2..f8b914c 100644 --- a/modules/system/packages/default.nix +++ b/modules/system/packages/default.nix @@ -1,7 +1,22 @@ # Common packages { config, lib, pkgs, ... }: with lib; -let linuxpkgs = config.boot.kernelPackages; +let + linuxpkgs = config.boot.kernelPackages; + perf-flamegraph-process = + pkgs.writeShellScriptBin "perf-flamegraph-process" '' + set -euo pipefail + + OUT_DIR="''${HOME}/workspace/tmp/flamegraph" + OUT_SVG="''${OUT_DIR}/$(date +%y%m%d-%H%M%S).svg" + + mkdir -p ''${OUT_DIR} + + ${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 > "''${OUT_SVG}" + ''; in { @@ -33,6 +48,7 @@ in openssl parted pciutils + perf-flamegraph-process perf-tools powertop rsync -- cgit 1.4.1