summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add support for profiling condition variablesHEADmasterPhilip Withnall2011-09-192-84/+716
| | | | | | | | | This adds a separate hash table of structures for profiling data for each condition variable in the program. Statistics such as the number of waits, signals, number of contended waits (waits while another thread is already waiting), contended signals (signals while no threads are waiting) and contention time are collected and presented in a second table in the summary printout.
* Expand support for rwlocks to count read and write locks separatelyPhilip Withnall2011-09-192-86/+164
| | | | | | | | | | | All counters such as n_locked are now split into two: one for reads and one for writes. Normal mutexes just use the write counters, whereas rwlocks now use both the read and write counters as appropriate. In order to display all this new data, rwlocks are now printed as two lines in the summary table: the first is for the write counters and the second is for the read counters. There is currently no way to print out the sum of any two such counters, or order by this sum.
* Port from CC_CHECK_CFLAGS_APPEND to AX_APPEND_COMPILE_FLAGSPhilip Withnall2011-09-195-313/+207
| | | | | | AX_APPEND_COMPILE_FLAGS seems to be better maintained by the autoconf archive, and is what's used in PulseAudio. Everybody loves what's used in PulseAudio.
* Port from ACX_PTHREAD to AX_PTHREADPhilip Withnall2011-09-192-27/+57
| | | | | This uses the latest version of the AX_PTHREAD macro from the autoconf archive: http://www.gnu.org/software/autoconf-archive/ax_pthread.html.
* Update configure.ac macrosPhilip Withnall2011-09-191-3/+2
| | | | Based on the output of `autoupdate`.
* Add some missing header, type and function checks to configure.acPhilip Withnall2011-09-191-1/+8
| | | | As picked up by `autoscan`.
* Allow user-specified ordering of the summary tablePhilip Withnall2011-09-192-29/+150
| | | | | This is now supported by the --order command line argument or the MUTRACE_SUMMARY_ORDER environment variable.
* Track total contention time for mutexes and rwlocksPhilip Withnall2011-09-191-27/+69
| | | | | | | | | | | | | | | | | This adds the ability to track the total amount of time for which each mutex or rwlock is contended. Effectively, this is the amount of time which is spent blocked inside pthread_mutex_lock() and friends — we don't count time spent inside these functions if the mutex isn't busy, however (i.e. if pthread_mutex_trylock() doesn't return EBUSY). It is possible for the total contention time for a given mutex to exceed the total locked time. This can happen if the OS doesn't re-schedule a thread which is blocked on a mutex until some time after the thread which was holding the mutex unlocks it. This commit replaces the “max.Time[ms]” summary column with a new “cont.Time[ms]” column which lists the total contention time for each mutex. I believe this is more important/useful than the maximum locked time.
* Disable deprecation warning for __malloc_hookPhilip Withnall2011-09-192-0/+6
|
* Print out the summary when SIGUSR1 is receivedPhilip Withnall2011-09-191-11/+41
|
* Fix some typos in output stringsPhilip Withnall2011-09-192-5/+5
|
* build-sys: minor copy/paste error fixLennart Poettering2010-02-211-1/+1
|
* Delay the symbols name resolution.Lénaïc Huard2010-02-211-16/+31
| | | | | | | Retrieving the stacktrace is cheap, but resolving symbols name may be expansive. Delaying this process prevents program perturbation and saves process as the symbols name resolution is now done only for the displayed mutexes.
* Demangle C++ symbols nameLénaïc Huard2010-02-211-0/+8
|
* Implement a mutex free version of backtrace()Lénaïc Huard2010-02-212-2/+32
| | | | | | The glibc version of backtrace() uses a mutex which is also used by C++ exception throwing. Using it in mutrace leads to dead lock when a C++ exception throws.
* bump releasev0.2Lennart Poettering2009-10-071-1/+1
|
* Add GPL3 to treeLennart Poettering2009-10-074-16/+690
| | | | | See https://bugzilla.redhat.com/show_bug.cgi?id=523553 for an explanation.
* Include signal.c on non-x86 archsMichel Alexandre Salim2009-10-072-0/+2
|
* add GPLv2 to packagev0.1Lennart Poettering2009-10-062-0/+341
|
* matrace: trivial LD_PRELOAD syntax fixCarlo Marcelo Arenas Belon2009-09-291-1/+1
| | | | Signed-off-by: Carlo Marcelo Arenas Belon <carenas@sajinet.com.pe>
* add missing file backtrace-symbols.cLennart Poettering2009-09-222-0/+362
|
* warn if applications have been built without -rdynamicLennart Poettering2009-09-212-7/+12
|
* optionally read debug info for backtracesLennart Poettering2009-09-207-6/+94
|
* show message about used processorsLennart Poettering2009-09-201-0/+14
|
* profile rwlocks, tooLennart Poettering2009-09-201-13/+428
|
* matrace: add matrace RT memory allocation trackerLennart Poettering2009-09-204-4/+586
|
* give hint regarding R columnLennart Poettering2009-09-161-3/+7
|
* make clear this is Linux stuffLennart Poettering2009-09-161-0/+4
|
* optionally track RT status of threads using a mutexLennart Poettering2009-09-162-22/+76
|
* show mutex protocolLennart Poettering2009-09-161-7/+30
|
* redirect backtrace() so that we don't enter an endless loop if the user ↵Lennart Poettering2009-09-151-2/+45
| | | | calls backtrace() himself
* Tweak configure.ac for intrepidEric Bollengier2009-09-151-2/+2
|
* improve compatiblity with older automakeLennart Poettering2009-09-151-1/+1
|
* add likely/unlikey everywhere to minimize impactLennart Poettering2009-09-151-23/+26
|
* explain in more detail why we don't support jemallocLennart Poettering2009-09-151-0/+10
|
* detect alternative memory allocators and quit earlyLennart Poettering2009-09-151-0/+10
|
* handle mutexes properly that are taken before we are initializedLennart Poettering2009-09-151-0/+65
|
* don't try to load symbols on every single mutex operationLennart Poettering2009-09-151-1/+3
|
* show process name/pid in outputLennart Poettering2009-09-151-5/+21
|
* handle properly if other shared library constructor is not the first one to ↵Lennart Poettering2009-09-151-11/+53
| | | | be called but others already used mutex operations
* don't forget to explicitly link against librt and libdlLennart Poettering2009-09-151-1/+3
|
* add missing mutrace.in fileLennart Poettering2009-09-152-0/+127
|
* don't warn about aliasing issues, since dlopen() violates C99Lennart Poettering2009-09-151-1/+1
|
* add wrapper script for easy invocationLennart Poettering2009-09-152-14/+27
|
* build-sys: fiddle a bit with libtool argumentsLennart Poettering2009-09-151-1/+3
|
* build-sys: drop unnecessary variablesLennart Poettering2009-09-151-4/+0
|
* autoconfizationLennart Poettering2009-09-1511-10/+1029
|
* Merge remote branch 'origin/master'Lennart Poettering2009-09-141-0/+3
|\
| * properly recognize our own symbols in stack trace on older glibcLennart Poettering2009-09-141-0/+3
| |
* | rework dlsym() code and make it entirely compiler cleanLennart Poettering2009-09-141-26/+23
| |