diff options
author | Gustavo Duarte <gduarte@activitycentral.com> | 2013-01-16 16:27:57 (GMT) |
---|---|---|
committer | Gustavo Duarte <gduarte@activitycentral.com> | 2013-01-16 16:27:57 (GMT) |
commit | e08c9ff4aac2c5ba669c1d588145455fa68d802f (patch) | |
tree | 1a0ed80606dce2c25ad9e03714ca7c89c3c0f3c4 | |
parent | 0780fba5c497672be26029ee726803b11ac5f563 (diff) |
fixes get_uptime_by_inteval and get_active_by_interval,
add some rrds to test.
modify test_rrd.py
-rw-r--r-- | rrds/abacus.rrd | bin | 306880 -> 306880 bytes | |||
-rw-r--r-- | src/stats_consolidation/rrd_files.py | 31 | ||||
-rwxr-xr-x[-rw-r--r--] | src/stats_consolidation/test_rrd.py | 22 | ||||
-rwxr-xr-x | test/xport_uptime.sh | 2 |
4 files changed, 39 insertions, 16 deletions
diff --git a/rrds/abacus.rrd b/rrds/abacus.rrd Binary files differindex 9ac5019..32d5cf0 100644 --- a/rrds/abacus.rrd +++ b/rrds/abacus.rrd diff --git a/src/stats_consolidation/rrd_files.py b/src/stats_consolidation/rrd_files.py index c5561d7..b25b8b6 100644 --- a/src/stats_consolidation/rrd_files.py +++ b/src/stats_consolidation/rrd_files.py @@ -1,6 +1,7 @@ import rrdtool import os import sys +from datetime import datetime class RRD: @@ -9,7 +10,7 @@ class RRD: data_item = 2 DS = {'active':0, 'buddies':0, 'instances':0, 'new':0, 'resumed':0, 'uptime':0} - def __init__(self, path, name, date_start, date_end): + def __init__(self, path, name, date_start=None, date_end=None): self.rrd_name = name @@ -33,9 +34,9 @@ class RRD: self.user_hash[:2], self.user_hash ) - + """ self.uuid = self.get_uuid_from_file(self.user_path) - + """ print "*******************************************" print " RRD " @@ -67,32 +68,40 @@ class RRD: i=+1 return -1 - def get_uptime_by_interval (self): - ds_name = "uptime" + """ + Find several valid record consecutives, the last one is time of the interval. + Return: a list (start_time, total_time) + """ + def get_last_value_by_interval (self, ds_name): res=list() - + print "-------Calcule "+ ds_name +"-------" i=0 found = False while i < len(self.rrd[self.data_item]): value = str(self.rrd[self.data_item][i][self.DS[ds_name]]) - if value != "None": + if value != "None" and float (value) > 0 : uptime = value - end = str (long(self.date_start) + ((i+1) * 60)) + end = long(self.date_start) + ((i+1) * 60) if found == False: found = True - start = str (long (self.date_start) + ((i+1) * 60)) + start = long (self.date_start) + ((i+1) * 60) else: if found: - print start + "->" + end + ": " + uptime + print str(datetime.fromtimestamp(float(start))) + " -> " + str(datetime.fromtimestamp(float(end))) + ": " + uptime if float(uptime) > 0: res.append((start, uptime)) found = False i=i+1 return res print "---------------------------------------------------" + + def get_active_by_interval (self): + return self.get_last_value_by_interval ("active") - + def get_uptime_by_interval (self): + return self.get_last_value_by_interval ("uptime") + def get_name(self): return self.rrd_name.partition(".rrd")[0] diff --git a/src/stats_consolidation/test_rrd.py b/src/stats_consolidation/test_rrd.py index 657ce18..81dd3c8 100644..100755 --- a/src/stats_consolidation/test_rrd.py +++ b/src/stats_consolidation/test_rrd.py @@ -1,8 +1,15 @@ -from db import * +#!/usr/bin/env python +import argparse +from db import * from rrd_files import * from db import * +parser = argparse.ArgumentParser() +parser.add_argument('--rrd_path',required=False) +parser.add_argument('--rrd_name',required=True) + +args = parser.parse_args() print "============================== TEST RRD -> Relational DB ========================================" db = DB_Stats('statistics', 'root', 'gustavo') @@ -26,13 +33,20 @@ DATE_END = datetime(year=2012, DATE_START = db.get_date_last_record() DATE_END = datetime.now().strftime("%s") -act_rrd = RRD (path = "/home/gustavo/AC/consolidation/rrds", name="pippy.rrd", date_start=DATE_START, date_end=DATE_END) +act_rrd = RRD (path = "/home/gustavo/AC/consolidation/rrds", name=args.rrd_name) +""" +act_rrd = RRD (path = "/home/gustavo/AC/consolidation/rrds", name="abacus.rrd", date_start=DATE_START, date_end=DATE_END) +""" """ -act_rrd.show_valid_ds("uptime") act_rrd.show_valid_ds("resumed") act_rrd.show_valid_ds("new") act_rrd.show_valid_ds("instances") act_rrd.show_valid_ds("buddies") -""" data = {} db.store_activity_uptime(act_rrd) +""" +act_rrd.show_valid_ds("uptime") +act_rrd.show_valid_ds("active") + +act_rrd.get_uptime_by_interval() +act_rrd.get_active_by_interval() diff --git a/test/xport_uptime.sh b/test/xport_uptime.sh index 7da42b0..f034749 100755 --- a/test/xport_uptime.sh +++ b/test/xport_uptime.sh @@ -1,3 +1,3 @@ rrdtool xport --start 1355312020 --end 1355314500 \ -DEF:x=./xo_stats/abacus.rrd:uptime:AVERAGE \ +DEF:x=/home/gustavo/AC/consolidation/rrds/abacus.rrd:uptime:AVERAGE \ XPORT:x:"Ativity uptime" |