couchdb plugin: Add plugin to fetch data from a CouchDB and parse its contents.
[collectd.git] / README
diff --git a/README b/README
index a6a5354..e47493a 100644 (file)
--- a/README
+++ b/README
@@ -40,6 +40,12 @@ Features
       Name server and resolver statistics from the `statistics-channel'
       interface of BIND 9.5, 9,6 and later.
 
+    - conntrack
+      Number of nf_conntrack entries.
+
+    - couchdb
+      Parse statistics from CouchDB JSON documents.
+
     - cpu
       CPU utilization: Time spent in the system, user, nice, idle, and related
       states.
@@ -76,6 +82,9 @@ Features
     - filecount
       Count the number of files in directories.
 
+    - gmond
+      Receive multicast traffic from Ganglia instances.
+
     - hddtemp
       Harddisk temperatures using hddtempd.
 
@@ -98,6 +107,10 @@ Features
     - irq
       IRQ counters: Frequency in which certain interrupts occur.
 
+    - java
+      Integrates a `Java Virtual Machine' (JVM) to execute plugins in Java
+      bytecode. See “Configuring with libjvm” below.
+
     - load
       System load average over the last 1, 5 and 15 minutes.
 
@@ -179,6 +192,9 @@ Features
     - processes
       Process counts: Number of running, sleeping, zombie, ... processes.
 
+    - protocols
+      Counts various aspects of network protocols such as IP, TCP, UDP, etc.
+
     - rrdcached
       RRDtool caching daemon (RRDcacheD) statistics.
 
@@ -210,6 +226,9 @@ Features
     - teamspeak2
       TeamSpeak2 server statistics.
 
+    - ted
+      Plugin to read values from `The Energy Detective' (TED).
+
     - thermal
       Linux ACPI thermal zone information.
 
@@ -424,6 +443,11 @@ Prerequisites
     For querying iptables counters.
     <http://netfilter.org/>
 
+  * libjvm (optional)
+    Library that encapsulates the `Java Virtual Machine' (JVM). This library is
+    used by the Java plugin to execute Java bytecode. See “Configuring with
+    libjvm” below.
+
   * libmysqlclient (optional)
     Unsurprisingly used by the `mysql' plugin.
     <http://dev.mysql.com/>
@@ -497,6 +521,9 @@ Prerequisites
   * libxmms (optional)
     <http://www.xmms.org/>
 
+  * libyajl (optional)
+    Parse JSON data. This is needed for the `couchdb' plugin.
+    <http://www.lloydforge.org/projects/yajl/>
 
 Configuring / Compiling / Installing
 ------------------------------------
@@ -522,6 +549,42 @@ Configuring / Compiling / Installing
   prefixed to all installation directories. This might be useful when creating
   packages for collectd.
 
+Configuring with libjvm
+-----------------------
+
+  To determine the location of the required files of a Java installation is not
+  an easy task, because the locations vary with your kernel (Linux, SunOS, …)
+  and with your architecture (x86, SPARC, …) and there is no ‘java-config’
+  script we could use. Configuration of the JVM library is therefore a bit
+  tricky.
+
+  The easiest way to use the `--with-java=$JAVA_HOME' option, where
+  `$JAVA_HOME' is usually something like:
+    /usr/lib/jvm/java-1.5.0-sun-1.5.0.14
+
+  The configure script will then use find(1) to look for the following files:
+
+    - jni.h
+    - jni_md.h
+    - libjvm.so
+
+  If found, appropriate CPP-flags and LD-flags are set and the following
+  library checks succeed.
+
+  If this doesn't work for you, you have the possibility to specify CPP-flags,
+  C-flags and LD-flags for the ‘Java’ plugin by hand, using the following three
+  (environment) variables:
+
+    - JAVA_CPPFLAGS
+    - JAVA_CFLAGS
+    - JAVA_LDFLAGS
+
+  For example (shortened for demonstration purposes):
+
+    ./configure JAVA_CPPFLAGS="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux"
+
+  Adding "-ljvm" to the JAVA_LDFLAGS is done automatically, you don't have to
+  do that.
 
 Crosscompiling
 --------------
@@ -541,12 +604,24 @@ Crosscompiling
   that the compiled binary actually behaves as it should, but since NANs
   are likely never passed to the libm you have a good chance to be lucky.
 
+  Likewise, collectd needs to know the layout of doubles in memory, in order
+  to craft uniform network packets over different architectures. For this, it
+  needs to know how to convert doubles into the memory layout used by x86. The
+  configure script tries to figure this out by compiling and running a few
+  small test programs. This is of course not possible when cross-compiling.
+  You can use the `--with-fp-layout' option to tell the configure script which
+  conversion method to assume. Valid arguments are:
+
+    * `nothing'    (12345678 -> 12345678)
+    * `endianflip' (12345678 -> 87654321)
+    * `intswap'    (12345678 -> 56781234)
+
 
 Contact
 -------
 
-  For questions, bugreports, development information and basically all other
-  concerns please send an email to collectd's mailinglist at
+  For questions, bug reports, development information and basically all other
+  concerns please send an email to collectd's mailing list at
   <collectd at verplant.org>.
 
   For live discussion and more personal contact visit us in IRC, we're in
@@ -560,5 +635,6 @@ Author
   Sebastian tokkee Harl <sh at tokkee.org>,
   and many contributors (see `AUTHORS').
 
-  Please send bugreports and patches to the mailinglist, see `Contact' above.
+  Please send bug reports and patches to the mailing list, see `Contact'
+  above.