From f74042c75e458ed9f518050c25b1d7628f492eb1 Mon Sep 17 00:00:00 2001
From: robk-tahoe <robk-tahoe@allmydata.com>
Date: Wed, 23 Apr 2008 14:39:41 -0700
Subject: [PATCH] munin stats: add mutable/uploader traffic graphs

this adds munin graphs to present data already published by nodes to
the stats_gatherer, namely mutable files published/retrieved, and
immutable files uploaded, and the bytes thereof
---
 misc/munin/tahoe-stats.py | 65 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/misc/munin/tahoe-stats.py b/misc/munin/tahoe-stats.py
index 1bbf9c3b..dd8cb711 100644
--- a/misc/munin/tahoe-stats.py
+++ b/misc/munin/tahoe-stats.py
@@ -280,6 +280,71 @@ PLUGINS = {
                                      ]),
         },
 
+    'tahoe_uploader_bytes_uploaded':
+        { 'statid': 'uploader.bytes_uploaded',
+          'category': 'counters',
+          'configheader': '\n'.join(['graph_title Tahoe Uploader Bytes Uploaded',
+                                     'graph_vlabel bytes',
+                                     'graph_category tahoe_traffic',
+                                     'graph_info This graph shows the number of bytes uploaded',
+                                     ]),
+          'graph_config': '\n'.join(['%(name)s.label %(name)s',
+                                     '%(name)s.type DERIVE',
+                                     '%(name)s.min 0',
+                                     '%(name)s.draw LINE1',
+                                     ]),
+          'graph_render': '\n'.join(['%(name)s.value %(value)s',
+                                     ]),
+        },
+    'tahoe_uploader_files_uploaded':
+        { 'statid': 'uploader.files_uploaded',
+          'category': 'counters',
+          'configheader': '\n'.join(['graph_title Tahoe Uploader Bytes Uploaded',
+                                     'graph_vlabel files',
+                                     'graph_category tahoe_traffic',
+                                     'graph_info This graph shows the number of files uploaded',
+                                     ]),
+          'graph_config': '\n'.join(['%(name)s.label %(name)s',
+                                     '%(name)s.type DERIVE',
+                                     '%(name)s.min 0',
+                                     '%(name)s.draw LINE1',
+                                     ]),
+          'graph_render': '\n'.join(['%(name)s.value %(value)s',
+                                     ]),
+        },
+    'tahoe_mutable_bytes_published':
+        { 'statid': 'mutable.bytes_published',
+          'category': 'counters',
+          'configheader': '\n'.join(['graph_title Tahoe Mutable Files Published',
+                                     'graph_vlabel files',
+                                     'graph_category tahoe_traffic',
+                                     'graph_info This graph shows the number of mutable files published',
+                                     ]),
+          'graph_config': '\n'.join(['%(name)s.label %(name)s',
+                                     '%(name)s.type DERIVE',
+                                     '%(name)s.min 0',
+                                     '%(name)s.draw LINE1',
+                                     ]),
+          'graph_render': '\n'.join(['%(name)s.value %(value)s',
+                                     ]),
+        },
+    'tahoe_mutable_files_retrieved':
+        { 'statid': 'mutable.files_retrieved',
+          'category': 'counters',
+          'configheader': '\n'.join(['graph_title Tahoe Mutable Files Retrieved',
+                                     'graph_vlabel files',
+                                     'graph_category tahoe_traffic',
+                                     'graph_info This graph shows the number of files retrieved',
+                                     ]),
+          'graph_config': '\n'.join(['%(name)s.label %(name)s',
+                                     '%(name)s.type DERIVE',
+                                     '%(name)s.min 0',
+                                     '%(name)s.draw LINE1',
+                                     ]),
+          'graph_render': '\n'.join(['%(name)s.value %(value)s',
+                                     ]),
+        },
+
     }
 
 def smash_name(name):
-- 
2.45.2