list_graphs action: Avoid linebreak in "42 instances".
[collection4.git] / README
diff --git a/README b/README
index 6e25d3f..94ab32b 100644 (file)
--- a/README
+++ b/README
@@ -12,6 +12,8 @@ About
 Concepts
 --------
 
+  Graphs
+  ------
   c4 lets you configure "graphs" in its config file. Each graph has a selector
   which determines which files will be used to draw the graph. The selector
   uses the host/plugin[-instance]/type[-instance] layout known from collectd.
@@ -33,6 +35,70 @@ Concepts
   by adding it to the appropriate instance or by creating a new instance. I.e.
   each file may be used in multiple graphs.
 
+  If a file does not match any graph, a "dynamic graph" matching only that file
+  will be created. This allows the front-end to display all files even when
+  there is no explicit graph definition for them.
+
+  Data providers
+  --------------
+  The idea is to encapsulate all the functions specific to one write plugin of
+  collectd using an interface for querying data. This allows to program the
+  rest of the front-end in a way that doesn't rely on one specific storage
+  back-end.
+
+  Currently, the only data provider scans a directory for RRD files and uses
+  the librrd to fetch data. The whole concept is still a bit of a work in
+  progress and currently the code-base is still cluttered with "*_get_rrdargs"
+  functions. The RRDtool generated graphs will likely be replaced by a graphing
+  solution integrated in the C code (creating rendered graphics) and / or a
+  JavaScript-based solution which renders graphs in the browser.
+
+  In the future it shall be possible to use multiple data providers in
+  parallel. The vision is to have multiple servers running RRDCacheD. Data is
+  distributed to those servers using the "Hashed" match of collectd and then a
+  unified interface is provided via collection 4.
+
+
+Dependencies
+------------
+
+  collection 4 currently requires the following libraries:
+
+  * libfcgi
+    <http://www.fastcgi.com/>
+
+  * librrd_th (thread-safe version of librrd)
+    <http://oss.oetiker.ch/rrdtool/>
+
+  * libyajl
+    <http://lloyd.github.com/yajl/>
+
+  The "configure" script is currently kept minimal. It may therefore be
+  necessary to set the CPP- and LD-flags manually. In case of libyajl, which is
+  not built with libtool, you may need to set the rpath, too.
+
+
+Bugs
+----
+
+  * Sending a FLUSH command to the collectd process is not yet possible.
+  * "*_get_rrdargs" functions and other RRDtool specific cruft is still all
+    over the code-base.
+  * The JSON-based interface is unstable.
+  * Currently it's not possible to display more than one graph at a time.
+    (With a very limited and undocumented exception.)
+  * Speaking of which: There is no documentation.
+  * No default page. -> Redirect to "list_graphs" action.
+  * ... (to be added)
+
+
+License
+-------
+
+  collection 4 is licensed under the GNU Lesser General Public License (LGPL),
+  version 2.1. The exact license terms are available in the file "COPYING" in
+  the top source directory.
+
 
 Author
 ------