aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/interactive/trace.nix28
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;
+ }
+ ];
+}