cabal configure -fEKG to build a git-annex that includes
the EKG remote monitoring interface.
To access the EKG control panel, go to http://localhost:4242/ while a git-annex command is running.
This EKG build is mostly useful for debugging resource usage problems.
Note that since only one process can open port 4242 at a time, running more than one git-annex process with EKG support at the same time can result in some "resource busy (Address already in use)" messages -- but git-annex will continue to work.
For the really tricky memory leaks, here's how to make a profiling build of git-annex.
cabal configure --enable-profiling
This will probably fail due to some missing profiling libraries. You have to get the profiling versions of all needed haskell libraries installed somehow.
- Run git-annex with the special flags
+RTS -hc -p
- Reproduce the memory leak problem.
- If the assistant was run, stop it.
hp2ps -e8in -c git-annex.hpto generate a .ps graph of memory usage.