aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/command-ref
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2019-08-15 14:20:42 +0200
committerGitHub <noreply@github.com>2019-08-15 14:20:42 +0200
commit477f82e5a7d1a69777cb55e14bb377adeb4bedd1 (patch)
tree8055789fcbb639a3197938682be49e9476cdf217 /doc/manual/command-ref
parent35ebae198f5af5b5283bfb36ef6e85a29006e4c9 (diff)
parentee9c988a1b2e3c511b8613e698a0f9632ab1538f (diff)
Merge pull request #2782 from grahamc/flames
Track function start and end
Diffstat (limited to 'doc/manual/command-ref')
-rw-r--r--doc/manual/command-ref/conf-file.xml28
1 files changed, 28 insertions, 0 deletions
diff --git a/doc/manual/command-ref/conf-file.xml b/doc/manual/command-ref/conf-file.xml
index 1325a3f22..320e15339 100644
--- a/doc/manual/command-ref/conf-file.xml
+++ b/doc/manual/command-ref/conf-file.xml
@@ -981,6 +981,34 @@ requiredSystemFeatures = [ "kvm" ];
</varlistentry>
+ <varlistentry xml:id="conf-trace-function-calls"><term><literal>trace-function-calls</literal></term>
+
+ <listitem>
+
+ <para>Default: <literal>false</literal>.</para>
+
+ <para>If set to <literal>true</literal>, the Nix evaluator will
+ trace every function call. Nix will print a log message at the
+ "vomit" level for every function entrance and function exit.</para>
+
+ <informalexample><screen>
+function-trace entered undefined position at 1565795816999559622
+function-trace exited undefined position at 1565795816999581277
+function-trace entered /nix/store/.../example.nix:226:41 at 1565795253249935150
+function-trace exited /nix/store/.../example.nix:226:41 at 1565795253249941684
+</screen></informalexample>
+
+ <para>The <literal>undefined position</literal> means the function
+ call is a builtin.</para>
+
+ <para>Use the <literal>contrib/stack-collapse.py</literal> script
+ distributed with the Nix source code to convert the trace logs
+ in to a format suitable for <command>flamegraph.pl</command>.</para>
+
+ </listitem>
+
+ </varlistentry>
+
<varlistentry xml:id="conf-trusted-public-keys"><term><literal>trusted-public-keys</literal></term>
<listitem><para>A whitespace-separated list of public keys. When