summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Thompson <will@willthompson.co.uk>2012-01-09 16:15:15 +0000
committerWill Thompson <will@willthompson.co.uk>2012-01-09 16:15:15 +0000
commit8924d6a7c7efb9e271672b8871d80bc2c9c35d0d (patch)
tree8ceb02a351aeb729876ebe811d518421af289a55
parentd8991cc54f05059761c756c7de872e458ea7c0a0 (diff)
HACKING, README: update; add INSTALL
-rw-r--r--HACKING16
-rw-r--r--INSTALL24
-rw-r--r--Makefile2
-rw-r--r--README63
4 files changed, 46 insertions, 59 deletions
diff --git a/HACKING b/HACKING
index 57e796a..e7c7ddb 100644
--- a/HACKING
+++ b/HACKING
@@ -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.
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..079c0e0
--- /dev/null
+++ b/INSTALL
@@ -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
diff --git a/Makefile b/Makefile
index 6b197d8..8558c66 100644
--- a/Makefile
+++ b/Makefile
@@ -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)
diff --git a/README b/README
index 3813442..0c14010 100644
--- a/README
+++ b/README
@@ -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!