diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-08-08 00:49:11 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-08-08 00:56:25 +0900 |
| commit | a4f7e92e1c96b6afda6389de44d166804512d24d (patch) | |
| tree | 360f66c80f252495b2ef9e3a626712ab67a46141 /test/interactive | |
| parent | f1a53d611604482db975b312f4eeb6a81ea95ce5 (diff) | |
test/interactive: helper scripts for tracing
The vm state is discarded often, and it is quite cumbersome to set everything up again when the shell history is gone.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'test/interactive')
| -rw-r--r-- | test/interactive/trace.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/interactive/trace.nix b/test/interactive/trace.nix new file mode 100644 index 00000000..f055e0bb --- /dev/null +++ b/test/interactive/trace.nix @@ -0,0 +1,28 @@ +{ lib, pkgs, ... }: +let + tracing = name: "\"/sys/kernel/debug/tracing/${name}\""; +in +{ + environment.systemPackages = [ + (pkgs.writeShellScriptBin "hakurei-set-up-tracing" '' + set -e + echo "$1" > ${tracing "set_graph_function"} + echo function_graph > ${tracing "current_tracer"} + echo funcgraph-tail > ${tracing "trace_options"} + echo funcgraph-retval > ${tracing "trace_options"} + echo nofuncgraph-cpu > ${tracing "trace_options"} + echo nofuncgraph-overhead > ${tracing "trace_options"} + echo nofuncgraph-duration > ${tracing "trace_options"} + '') + (pkgs.writeShellScriptBin "hakurei-print-trace" "exec cat ${tracing "trace"}") + (pkgs.writeShellScriptBin "hakurei-consume-trace" "exec cat ${tracing "trace_pipe"}") + ]; + + boot.kernelPatches = [ + { + name = "funcgraph-retval"; + patch = null; + extraStructuredConfig.FUNCTION_GRAPH_RETVAL = lib.kernel.yes; + } + ]; +} |
