Author: croberts
Date: 2012-06-04 14:02:43 +0000 (Mon, 04 Jun 2012)
New Revision: 5399
Modified:
trunk/mint/python/mint/plumage/session.py
Log:
Fixing a bug in the plumage data loading for inactive grids, also refactored to eliminate
duplicated code.
Modified: trunk/mint/python/mint/plumage/session.py
===================================================================
--- trunk/mint/python/mint/plumage/session.py 2012-06-01 21:16:27 UTC (rev 5398)
+++ trunk/mint/python/mint/plumage/session.py 2012-06-04 14:02:43 UTC (rev 5399)
@@ -184,30 +184,38 @@
record.owner =
len(self.collection.find({'ts':time,'st':'Owner'}).distinct('n'))
reduced = self.collection.map_reduce(timestamp_mapper, timestamp_reducer,
temptable, query={'ts':time,})
reduced_collection = Collection(self.database,temptable)
- record.freemem =
int(reduced_collection.find({'_id.st':{'$nin':['Claimed','Owner']}})[0]['value']['mem'])
- record.freecpu =
int(reduced_collection.find({'_id.st':{'$nin':['Claimed','Owner']}})[0]['value']['cpu'])
- record.usedmem =
int(reduced_collection.find({'_id.st':'Claimed'})[0]['value']['mem'])
- record.usedcpu =
int(reduced_collection.find({'_id.st':'Claimed'})[0]['value']['cpu'])
+ result_claimed = reduced_collection.find({'_id.st':'Claimed'})
+ result_unclaimed =
reduced_collection.find({'_id.st':'Unclaimed'})
+ result_owner = reduced_collection.find({'_id.st':'Owner'})
+ result_matched = reduced_collection.find({'_id.st':'Matched'})
+
+ record.freemem = self.getStat(result_unclaimed, 'mem')
+ record.freecpu = self.getStat(result_unclaimed, 'cpu')
+ record.usedmem = self.getStat(result_claimed, 'mem')
+ record.usedcpu = self.getStat(result_claimed, 'cpu')
+ record.availmem = self.getStat(result_claimed, 'mem') +
self.getStat(result_unclaimed, 'mem')
+ record.availcpu = self.getStat(result_claimed, 'cpu') +
self.getStat(result_unclaimed, 'cpu')
+ record.totalmem = self.getStat(result_claimed, 'mem') +
self.getStat(result_unclaimed, 'mem') + self.getStat(result_owner, 'mem')
+ self.getStat(result_matched, 'mem')
+ record.totalcpu = self.getStat(result_claimed, 'cpu') +
self.getStat(result_unclaimed, 'cpu') + self.getStat(result_owner, 'cpu')
+ self.getStat(result_matched, 'cpu')
- record.availmem =
int(reduced_collection.find({'_id.st':'Claimed'})[0]['value']['mem'])
+
int(reduced_collection.find({'_id.st':'Unclaimed'})[0]['value']['mem'])
- record.availcpu =
int(reduced_collection.find({'_id.st':'Claimed'})[0]['value']['cpu'])
+
int(reduced_collection.find({'_id.st':'Unclaimed'})[0]['value']['cpu'])
-
- record.totalmem =
int(reduced_collection.find({'_id.st':'Claimed'})[0]['value']['mem'])
+ \
-
int(reduced_collection.find({'_id.st':'Unclaimed'})[0]['value']['mem'])
+ \
-
int(reduced_collection.find({'_id.st':'Owner'})[0]['value']['mem'])
-
- record.totalcpu =
int(reduced_collection.find({'_id.st':'Claimed'})[0]['value']['cpu'])
+ \
-
int(reduced_collection.find({'_id.st':'Unclaimed'})[0]['value']['cpu'])
+ \
-
int(reduced_collection.find({'_id.st':'Owner'})[0]['value']['cpu'])
-
if(record.total != record.owner):
record.efficiency = (record.used/(record.total-record.owner))*100
else:
record.efficiency = 0
record.ts = time - UTC_DIFF
return record
+
+ def getStat(self, result_object, item):
+ itemcount = 0
+ try:
+ itemcount = result_object[0]['value'][item]
+ except:
+ return 0
+ return itemcount
+
+
def run(self):
while True:
self._check_connection()
Show replies by date