diff options
author | Will Thompson <will@willthompson.co.uk> | 2012-01-09 16:15:15 +0000 |
---|---|---|
committer | Will Thompson <will@willthompson.co.uk> | 2012-01-09 16:15:15 +0000 |
commit | 8924d6a7c7efb9e271672b8871d80bc2c9c35d0d (patch) | |
tree | 8ceb02a351aeb729876ebe811d518421af289a55 | |
parent | d8991cc54f05059761c756c7de872e458ea7c0a0 (diff) |
HACKING, README: update; add INSTALL
-rw-r--r-- | HACKING | 16 | ||||
-rw-r--r-- | INSTALL | 24 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | README | 63 |
4 files changed, 46 insertions, 59 deletions
@@ -1,15 +1,11 @@ +Want to get involved? Great! +============================ + Grab the latest code from git: - git clone git://anongit.freedesktop.org/bustle + git clone git://anongit.freedesktop.org/bustle and get stuck in! Please submit patches, or links to git branches, as -bugs on: - - https://bugs.freedesktop.org/enter_bug.cgi?product=Bustle - -Coding style: Haskell code must be '-Wall --fno-warn-unused-imports'-clean, and have pleasing layout. - -Hacking bustle-dbus-monitor.c is not advised. :) +bugs on <https://bugs.freedesktop.org/enter_bug.cgi?product=Bustle>. -vim: tw=72 +Hacking bustle-dbus-monitor.c is not advised. @@ -0,0 +1,24 @@ +Building from source +==================== + + export PREFIX=/opt/hi-mum + cabal install --prefix=$PREFIX + make install PREFIX=$PREFIX + +Building Bustle itself requires the Haskell Platform (plus additional +dependencies which will be fetched by the `cabal install` command). On +Debian-flavoured systems: + + sudo apt-get install haskell-platform + +Elsewhere, see <http://hackage.haskell.org/platform/> or your distro's +package manager. + +If the Haskell Platform is not available on the platform you want to do +some D-Bus profiling on, that's fine: the logger is written in C, and +you can view logs generated on your fancy embedded hardware on your more +pedestrian Linux laptop. + +The C bits compiled with `make` depend on a few things: + + sudo apt-get install libdbus-1-dev libglib2.0-dev libpcap-dev @@ -35,5 +35,5 @@ maintainer-binary-tarball: all cabal-dev build cabal-dev copy cp bustle.sh $(TARBALL_DIR) - cp bustle-dbus-monitor bustle-pcap $(TARBALL_DIR)/bin + cp bustle-dbus-monitor bustle-pcap $(TARBALL_DIR) tar cjf $(TARBALL_DIR).tar.bz2 $(TARBALL_DIR) @@ -1,59 +1,26 @@ -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. - --- +Using Bustle +============ Capture some D-Bus traffic: - % ./bustle-dbus-monitor > log - ^C - -Now chart it: - - % ~/bin/bustle log + bustle-pcap logfile.bustle -Count the method calls and signal emissions: +Now look at some diagrams and statistics based on it: - % ~/bin/bustle-count log + bustle logfile.bustle -Make a .dot graph of method caller -> callee: +Or get some ASCII art versions of those stats: - % ~/bin/bustle-dot log >log.dot - % dot -Tpng -o log-callers.png <log.dot + bustle --count logfile.bustle + bustle --time logfile.bustle -Count the total time spent in each method: - - % ~/bin/bustle-time log - --- FAQ +=== + +How do I log the system bus? +---------------------------- - - 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! +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! |