Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'cc/doc-recommend-performance-trace-to-file'
A minor documentation update.

* cc/doc-recommend-performance-trace-to-file:
  Documentation: talk about pager in api-trace.txt
  • Loading branch information
Junio C Hamano committed Apr 6, 2016
2 parents 235bdc8 + 3bd1b51 commit 5e533f8
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions Documentation/technical/api-trace.txt
Expand Up @@ -95,3 +95,46 @@ for (;;) {
}
trace_performance(t, "frotz");
------------

Bugs & Caveats
--------------

GIT_TRACE_* environment variables can be used to tell Git to show
trace output to its standard error stream. Git can often spawn a pager
internally to run its subcommand and send its standard output and
standard error to it.

Because GIT_TRACE_PERFORMANCE trace is generated only at the very end
of the program with atexit(), which happens after the pager exits, it
would not work well if you send its log to the standard error output
and let Git spawn the pager at the same time.

As a work around, you can for example use '--no-pager', or set
GIT_TRACE_PERFORMANCE to another file descriptor which is redirected
to stderr, or set GIT_TRACE_PERFORMANCE to a file specified by its
absolute path.

For example instead of the following command which by default may not
print any performance information:

------------
GIT_TRACE_PERFORMANCE=2 git log -1
------------

you may want to use:

------------
GIT_TRACE_PERFORMANCE=2 git --no-pager log -1
------------

or:

------------
GIT_TRACE_PERFORMANCE=3 3>&2 git log -1
------------

or:

------------
GIT_TRACE_PERFORMANCE=/path/to/log/file git log -1
------------

0 comments on commit 5e533f8

Please sign in to comment.