diff options
author | Rob Austein <sra@hactrn.net> | 2012-05-13 01:38:24 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2012-05-13 01:38:24 +0000 |
commit | 97204f318b77297d8642bab169a78e9cdae25626 (patch) | |
tree | e5379f3fd41bd73c204f60fe22bf54642565c500 /scripts/rrd-rcynic-history.py | |
parent | 96899d4250701b6c5feb9f2eec2d7eb181ecf67b (diff) |
Cleanup: Just record raw numbers here, let rrdtool graphing do the analysis.
svn path=/trunk/; revision=4489
Diffstat (limited to 'scripts/rrd-rcynic-history.py')
-rw-r--r-- | scripts/rrd-rcynic-history.py | 55 |
1 files changed, 13 insertions, 42 deletions
diff --git a/scripts/rrd-rcynic-history.py b/scripts/rrd-rcynic-history.py index 47788cb7..989554d2 100644 --- a/scripts/rrd-rcynic-history.py +++ b/scripts/rrd-rcynic-history.py @@ -50,57 +50,32 @@ class Host(object): self.hostname = hostname self.timestamp = timestamp self.elapsed = 0 - self.conn_count = 0 - self.dead_conns = 0 + self.connections = 0 + self.failures = 0 self.uris = set() - self.total_conn_time = 0 def add_connection(self, elt): - elapsed = parse_utc(elt.get("finished")) - parse_utc(elt.get("started")) - self.conn_count += 1 - self.elapsed += elapsed - self.total_conn_time += elapsed + self.elapsed += parse_utc(elt.get("finished")) - parse_utc(elt.get("started")) + self.connections += 1 if elt.get("error") is not None: - self.dead_conns += 1 + self.failures += 1 def add_object_uri(self, u): self.uris.add(u) - def finalize(self): - self.object_count = len(self.uris) - del self.uris - - def safe_division(self, numerator, denominator, ignore_failed = True): - if ignore_failed and self.failed: - return "U" - try: - return float(numerator) / float(denominator) - except ZeroDivisionError: - return "U" - @property def failed(self): - return 1 if self.dead_conns else 0 - - @property - def secs_per_obj(self): - return self.safe_division(self.elapsed, self.object_count) - - @property - def objs_per_conn(self): - return self.safe_division(self.object_count, self.conn_count) + return 1 if self.failures > 0 else 0 @property - def avg_conn_time(self): - return self.safe_division(self.total_conn_time, self.conn_count) + def objects(self): + return len(self.uris) field_table = (("timestamp", None, None, None), - ("conn_count", "GAUGE", "Connections", "FF0000"), - ("object_count", "GAUGE", "Objects", "00FF00"), - ("objs_per_conn", "GAUGE", "Objects/Connection", "0000FF"), - ("secs_per_obj", "GAUGE", "Seconds/Object", "FFFF00"), - ("avg_conn_time", "GAUGE", "Connection Time", "FF00FF"), - ("failed", "GAUGE", "Failed", "00FFFF")) + ("connections", "GAUGE", "Connections", "FF0000"), + ("objects", "GAUGE", "Objects", "00FF00"), + ("elapsed", "GAGUE", "Fetch Time", "0000FF"), + ("failed", "ABSOLUTE", "Failed", "00FFFF")) @property def field_values(self): @@ -121,7 +96,6 @@ class Host(object): return result def save(self, rrdtable): - self.finalize() rrdtable.add(self.hostname, self.field_values) class Session(dict): @@ -188,11 +162,8 @@ class RRDTable(dict): print "rrdtool update %s.rrd %s" % (hostname, ":".join(str(d) for d in datum)) def graph(self): - # - # Yes, I am making this up as I go, thanks for asking - # for hostname in self: - print "rrdtool graph %s.png --start -1y %s" % (hostname, " ".join(Host.field_graph_specifiers(hostname))) + print "rrdtool graph %s.png --start -90d %s" % (hostname, " ".join(Host.field_graph_specifiers(hostname))) mb = mailbox.Maildir("/u/sra/rpki/rcynic-xml", factory = None, create = False) |