diff options
author | Franck Cuny <franck@fcuny.net> | 2022-06-16 17:20:22 -0700 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2022-06-16 17:22:13 -0700 |
commit | 9d8c62a6e1f28491377b7000a6505c08630dc48c (patch) | |
tree | 046809bcc5a8ccbf58d47c5d2c36d9aa4aed5542 /modules/system | |
parent | docs(tools/govanity): update instructions (diff) | |
download | world-9d8c62a6e1f28491377b7000a6505c08630dc48c.tar.gz |
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 <franck@fcuny.net>
Diffstat (limited to 'modules/system')
-rw-r--r-- | modules/system/packages/default.nix | 18 |
1 files changed, 17 insertions, 1 deletions
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 |