trace2: write to directory targets

When the value of a trace2 environment variable is an absolute path
referring to an existing directory, write output to files (one per
process) underneath the given directory. Files will be named according
to the final component of the trace2 SID, followed by a counter to avoid
potential collisions.

This makes it more convenient to collect traces for every git invocation
by unconditionally setting the relevant trace2 envvar to a constant
directory name.

Signed-off-by: Josh Steadmon <steadmon@google.com>
Reviewed-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Josh Steadmon
2019-03-21 14:09:51 -07:00
committed by Junio C Hamano
parent 041f5ea1cf
commit a4d3a283db
3 changed files with 81 additions and 2 deletions

View File

@@ -109,6 +109,11 @@ values are recognized.
Enables the target, opens and writes to the file in append mode.
If the target already exists and is a directory, the traces will be
written to files (one per process) underneath the given directory. They
will be named according to the last component of the SID (optionally
followed by a counter to avoid filename collisions).
`af_unix:[<socket_type>:]<absolute-pathname>`::
Enables the target, opens and writes to a Unix Domain Socket