diff options
author | Philip Withnall <philip@tecnocode.co.uk> | 2012-06-24 17:55:43 +0100 |
---|---|---|
committer | Philip Withnall <philip@tecnocode.co.uk> | 2012-06-27 20:38:43 +0100 |
commit | 3deab10a238fb77a68f96fb74ce75a4f37c347a8 (patch) | |
tree | 38de8150eff93e482772af22d97fd5bb41af481e /HACKING | |
parent | 93d2f1b947e98fe87ceacc2a26dcd114429e16ad (diff) |
core: Add a profiling API and implement some profiling points
The API outputs messages in the format accepted by Federico’s
plot-timeline.py (http://people.gnome.org/~federico/news-2006-03.html#timeline-tools)
so graphs can easily be generated by running:
strace -ttt -f -o /tmp/logfile folks-inspect
python plot-timeline.py -o graph.png /tmp/logfile
So far, the BackendStore, IndividualAggregator and Backend and PersonaStore
classes for all the backends have been annotated.
Diffstat (limited to 'HACKING')
-rw-r--r-- | HACKING | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -127,3 +127,18 @@ hooks for each test. Simply run: make -C tests/<dir> <test name>.gdb Then use gdb as normal. + +Profiling folks +=============== + +Folks has various profiling points throughout its startup code, in order to be +able to profile the startup process. In order to use this: + 1. Compile folks with --enable-profiling. + 2. strace -ttt -f -o /tmp/logfile folks-inspect # or some other folks program + 3. python plot-timeline.py -o output.png /tmp/logfile + 4. Examine output.png for obvious problems + +This is based on Federico Mena Quintero’s plot-timeline.py, described on: +http://people.gnome.org/~federico/news-2006-03.html#timeline-tools. The Python +script itself can be downloaded from +http://gitorious.org/projects/performance-scripts. |