Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Allow user-specified ordering of the summary table | Philip Withnall | 2011-09-19 | 1 | -28/+127 |
| | | | | | This is now supported by the --order command line argument or the MUTRACE_SUMMARY_ORDER environment variable. | ||||
* | Track total contention time for mutexes and rwlocks | Philip Withnall | 2011-09-19 | 1 | -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_hook | Philip Withnall | 2011-09-19 | 1 | -0/+3 |
| | |||||
* | Print out the summary when SIGUSR1 is received | Philip Withnall | 2011-09-19 | 1 | -11/+41 |
| | |||||
* | Fix some typos in output strings | Philip Withnall | 2011-09-19 | 1 | -3/+3 |
| | |||||
* | Delay the symbols name resolution. | Lénaïc Huard | 2010-02-21 | 1 | -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. | ||||
* | Implement a mutex free version of backtrace() | Lénaïc Huard | 2010-02-21 | 1 | -1/+31 |
| | | | | | | 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. | ||||
* | Include signal.c on non-x86 archs | Michel Alexandre Salim | 2009-10-07 | 1 | -0/+1 |
| | |||||
* | warn if applications have been built without -rdynamic | Lennart Poettering | 2009-09-21 | 1 | -7/+6 |
| | |||||
* | optionally read debug info for backtraces | Lennart Poettering | 2009-09-20 | 1 | -0/+6 |
| | |||||
* | show message about used processors | Lennart Poettering | 2009-09-20 | 1 | -0/+14 |
| | |||||
* | profile rwlocks, too | Lennart Poettering | 2009-09-20 | 1 | -13/+428 |
| | |||||
* | give hint regarding R column | Lennart Poettering | 2009-09-16 | 1 | -3/+7 |
| | |||||
* | make clear this is Linux stuff | Lennart Poettering | 2009-09-16 | 1 | -0/+4 |
| | |||||
* | optionally track RT status of threads using a mutex | Lennart Poettering | 2009-09-16 | 1 | -17/+65 |
| | |||||
* | show mutex protocol | Lennart Poettering | 2009-09-16 | 1 | -7/+30 |
| | |||||
* | redirect backtrace() so that we don't enter an endless loop if the user ↵ | Lennart Poettering | 2009-09-15 | 1 | -2/+45 |
| | | | | calls backtrace() himself | ||||
* | add likely/unlikey everywhere to minimize impact | Lennart Poettering | 2009-09-15 | 1 | -23/+26 |
| | |||||
* | explain in more detail why we don't support jemalloc | Lennart Poettering | 2009-09-15 | 1 | -0/+10 |
| | |||||
* | detect alternative memory allocators and quit early | Lennart Poettering | 2009-09-15 | 1 | -0/+10 |
| | |||||
* | handle mutexes properly that are taken before we are initialized | Lennart Poettering | 2009-09-15 | 1 | -0/+65 |
| | |||||
* | don't try to load symbols on every single mutex operation | Lennart Poettering | 2009-09-15 | 1 | -1/+3 |
| | |||||
* | show process name/pid in output | Lennart Poettering | 2009-09-15 | 1 | -5/+21 |
| | |||||
* | handle properly if other shared library constructor is not the first one to ↵ | Lennart Poettering | 2009-09-15 | 1 | -11/+53 |
| | | | | be called but others already used mutex operations | ||||
* | add wrapper script for easy invocation | Lennart Poettering | 2009-09-15 | 1 | -13/+14 |
| | |||||
* | autoconfization | Lennart Poettering | 2009-09-15 | 1 | -1/+1 |
| | |||||
* | Merge remote branch 'origin/master' | Lennart Poettering | 2009-09-14 | 1 | -0/+3 |
|\ | |||||
| * | properly recognize our own symbols in stack trace on older glibc | Lennart Poettering | 2009-09-14 | 1 | -0/+3 |
| | | |||||
* | | rework dlsym() code and make it entirely compiler clean | Lennart Poettering | 2009-09-14 | 1 | -26/+23 |
| | | |||||
* | | use type-safe casts when getting real function pointers | Lennart Poettering | 2009-09-14 | 1 | -21/+23 |
| | | |||||
* | | add license blurb | Lennart Poettering | 2009-09-14 | 1 | -0/+19 |
| | | |||||
* | | handle pthread_cond_xxx based mutex operations properly | Lennart Poettering | 2009-09-14 | 1 | -29/+32 |
|/ | |||||
* | fix ellipsation | Lennart Poettering | 2009-09-14 | 1 | -1/+1 |
| | |||||
* | If nothing is contended say that explicitly | Lennart Poettering | 2009-09-14 | 1 | -10/+15 |
| | |||||
* | fill in configuration from environment | Lennart Poettering | 2009-09-14 | 1 | -23/+59 |
| | |||||
* | optionally raise trap when encountering inconsistency | Lennart Poettering | 2009-09-14 | 1 | -0/+15 |
| | |||||
* | show mutex type in summary table | Lennart Poettering | 2009-09-14 | 1 | -15/+38 |
| | |||||
* | POSIX thinks using trylock() on a mutex you already own is OK, so don't ↵ | Lennart Poettering | 2009-09-14 | 1 | -3/+3 |
| | | | | complain about it | ||||
* | only show the first 10 mutexes | Lennart Poettering | 2009-09-14 | 1 | -12/+23 |
| | |||||
* | increase hash table size | Lennart Poettering | 2009-09-14 | 1 | -6/+3 |
| | |||||
* | handle recursive mutexes properly | Lennart Poettering | 2009-09-14 | 1 | -6/+20 |
| | |||||
* | measure overall runtime | Lennart Poettering | 2009-09-14 | 1 | -31/+43 |
| | |||||
* | initial commit | Lennart Poettering | 2009-09-14 | 1 | -0/+683 |