https://github.com/markhpc/gdbprof I've included an example inverse-callgraph from a run I did this morning. Right now it can be invoked like:gdb -ex 'set pagination off' -ex 'attach <pid>' -ex 'source ./gdbprof.py' -ex 'profile begin' -ex 'quit'
I'm going to try and clean it up and give it more command line options for choosing the call-graph direction, sample count, etc.
Mark On 04/13/2017 10:43 AM, Mohamad Gebai wrote:
Hi all, Yesterday during the performance call there was some talk around measuring lock contention in wallclock, and it was mentioned that an option would be to monitor the futex system call. I just uploaded to Github a script I've used in the past that does exactly that, in case there was interest in pursuing this approach (https://github.com/mogeb/bt-futex). The Python script expects a CTF trace (e.g. LTTng). The functionality is very minimal at this point, but if there is interest I'd be happy to enhance it further. The main drawback of this approach is that it only works for locks that use futex (spinlocks, for instance, wouldn't be monitored). No instrumentation to the application is required. Here's an example output of the amount of time spent in the futex syscall, per thread (system-wide). The LOCK_TIME column shows the amount of time waiting on a lock, in nanoseconds: $> python3 count_futex.py kernel/ PROCESS_NAME (TID): LOCK_TIME ns git (17550): 2,122 git (17551): 8,124 example (17554): 80,690,708 example (17555): 80,020,536 example (17556): 367,010,253 example (17557): 459,009,153 example (17558): 199,676,209 example (17559): 108,401 example (17560): 475,562,084 example (17561): 80,549,102 example (17562): 468,002,252 example (17564): 92,108,616 example (17566): 450,655,745 example (17567): 49,904,388 libvirtd (3772): 2,389 libvirtd (3773): 2,839 libvirtd (3775): 2,417 libvirtd (3776): 3,577 libvirtd (3777): 2,492 Mohamad -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
Attachment:
4kwrite_gdb_profiler.out
Description: chemical/gulp