Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustavo Duarte <gduarte@activitycentral.com>2013-01-16 16:27:57 (GMT)
committer Gustavo Duarte <gduarte@activitycentral.com>2013-01-16 16:27:57 (GMT)
commite08c9ff4aac2c5ba669c1d588145455fa68d802f (patch)
tree1a0ed80606dce2c25ad9e03714ca7c89c3c0f3c4
parent0780fba5c497672be26029ee726803b11ac5f563 (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.rrdbin306880 -> 306880 bytes
-rw-r--r--src/stats_consolidation/rrd_files.py31
-rwxr-xr-x[-rw-r--r--]src/stats_consolidation/test_rrd.py22
-rwxr-xr-xtest/xport_uptime.sh2
4 files changed, 39 insertions, 16 deletions
diff --git a/rrds/abacus.rrd b/rrds/abacus.rrd
index 9ac5019..32d5cf0 100644
--- a/rrds/abacus.rrd
+++ b/rrds/abacus.rrd
Binary files differ
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"