summaryrefslogtreecommitdiff
path: root/README
blob: 3813442dfc099f8a2cf2dae699c00559c99f5065 (plain)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Compile the monitor:

    % make

Compile the charting application and utilities:

    % ./Setup.lhs configure --user
    % ./Setup.lhs build
    % ./Setup.lhs install

    If you've got the 'cabal' tool (on Debian systems, this is in the
    'cabal-install' package), you can simply run:

    % cabal install

    This will also pull in the non-Gtk dependencies from Hackage if
    necessary.

    If you're reading this, you probably don't have the Glasgow
    Haskell Compiler and Gtk bindings installed. On Debian-based
    distributions you need to install the following packages:

    # aptitude install libghc6-gtk-dev libghc6-parsec-dev libghc6-mtl-dev

    This will pull in lots of packages, comprising GHC and the Haskell
    standard libraries.

--

Capture some D-Bus traffic:

    % ./bustle-dbus-monitor > log
    ^C

Now chart it:

    % ~/bin/bustle log

Count the method calls and signal emissions:

    % ~/bin/bustle-count log

Make a .dot graph of method caller -> callee:

    % ~/bin/bustle-dot log >log.dot
    % dot -Tpng -o log-callers.png <log.dot

Count the total time spent in each method:

    % ~/bin/bustle-time log

--

FAQ

 - How do I log the system bus?
   * You need to edit /etc/dbus/system.conf to enable eavesdropping, and then
     remove the include of /etc/dbus-1/system.conf.d which seems to re-enable
     strictness. Please remember to undo your changes when you're done logging!