Fix missing newline in Graphite msg serialization
[beam_stats.git] / README.md
index aba81ed..b15ddc2 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[![Build Status](https://travis-ci.org/ibnfirnas/beam_stats.svg?branch=master)](https://travis-ci.org/ibnfirnas/beam_stats)
+[![Build Status](https://travis-ci.org/xandkar/beam_stats.svg?branch=master)](https://travis-ci.org/xandkar/beam_stats)
 
 beam_stats
 ==========
@@ -21,8 +21,25 @@ Essentially like `folsomite`, but different. Different in the following ways:
     + Well-defined metrics-to-binary conversions, as opposed to the
       nearly-arbitrary term-to-string conversions used in `folsomite`
     + Spec'd, tested and Dialyzed
+- More detailed stats:
+    - **per-process**. As much process ancestry is collected as possible, then
+      anonymous processes are aggregated to their youngest-known, named
+      predecessor - this aggregation keeps the useful breadcrumbs, while
+      reducing the number of unique names from exploding, which
+      **avoids the associated problems**:
+        1. not very useful when there're lots of short-lived processes
+        2. exploading disk space usage in Whisper
+    - per-ETS-table
+    - and more ... see records defined in `include` directory
 
-#### Configure consumers
+For an example of using pre-process stats to track-down memory leaks, here's a
+screenshot of the SSL connection process memory usage growth drop after upgrade
+from 17.5 to 18.1 (back in 2015):
+![SSL memory leak going away](screenshot--2015-10-05--18.41.30.jpg)
+
+### Adding consumers
+
+#### At app config time
 
 ```erlang
 {env,
@@ -33,6 +50,11 @@ Essentially like `folsomite`, but different. Different in the following ways:
           , {dst_host             , "localhost"}
           , {dst_port             , 8125}
           , {src_port             , 8124}
+          , {num_msgs_per_packet  , 10}
+
+          % If you want to name your node something other than what
+          % erlang:node() returns:
+          , {static_node_name     , <<"unicorn_at_rainbow">>}
           ]}
       , {beam_stats_consumer_graphite,
           [ {consumption_interval , 60000}
@@ -52,3 +74,13 @@ Essentially like `folsomite`, but different. Different in the following ways:
       ]}
   ]}
 ```
+
+#### Dynamically
+
+```erlang
+beam_stats_consumer:add(consumer_module, ConsumerOptions).
+```
+
+### Removing consumers
+
+Not yet implemented.
This page took 0.022879 seconds and 4 git commands to generate.