uprof

uprof — Fuctions to initialize uprof + query the system counter

Synopsis

void                uprof_init                          (int *argc,
                                                         char ***argv);
GOptionGroup *      uprof_get_option_group              (void);
guint64             uprof_get_system_counter            (void);
guint64             uprof_get_system_counter_hz         (void);
UProfContext *      uprof_find_context                  (const char *name);
UProfContext *      uprof_get_mainloop_context          (void);

Description

UProf is a toolkit for profiling applications and libraries with an emphasis on domain specific instrumentation. Unlike tools such as OProfile or Sysprof UProf can be used to provide application specific reports making statistics more accesible, and encouraging ongoing tracking of key statistics. Also unlike sysprof the current timing features are non-stochastic and measure real world elapsed time which can be a particularly helpful way of highlighiting non-CPU bound bottlenecks.

To give a taster of how you can add UProf instrumentation to your application here is a simple example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36