Removed unused class variables.
authorFaiyaz Ahmed <faiyaza@cs.princeton.edu>
Mon, 10 Jul 2006 20:22:12 +0000 (20:22 +0000)
committerFaiyaz Ahmed <faiyaza@cs.princeton.edu>
Mon, 10 Jul 2006 20:22:12 +0000 (20:22 +0000)
bwmon.py

index 6274ee8..3946957 100755 (executable)
--- a/bwmon.py
+++ b/bwmon.py
@@ -15,7 +15,7 @@
 # Faiyaz Ahmed <faiyaza@cs.princeton.edu>
 # Copyright (C) 2004-2006 The Trustees of Princeton University
 #
-# $Id: bwmon.py,v 1.6 2006/07/10 15:19:35 faiyaza Exp $
+# $Id: bwmon.py,v 1.7 2006/07/10 19:19:07 faiyaza Exp $
 #
 
 import syslog
@@ -86,8 +86,6 @@ class Slice:
     time - beginning of recording period in UNIX seconds
     bytes - low bandwidth bytes transmitted at the beginning of the recording period
     exemptbytes - high bandwidth bytes transmitted at the beginning of the recording period (for I2 -F)
-    avgrate - average low bandwidth rate to enforce over the recording period
-    avgexemptrate - average high bandwidth rate to enforce over the recording period (for I2 -F)
     last_avgrate - last recorded avgrate from NM
     last_maxrate - last recorded maxrate from NM
     last_avgexemptrate - last recorded avgexemptrate from NM
@@ -97,13 +95,11 @@ class Slice:
     def __init__(self, xid, name, maxrate, maxexemptrate, bytes, exemptbytes):
         self.xid = xid
         self.name = name
-       self._maxrate = default_maxrate
+       self.time = 0
+       self.exemptbytes = 0
        self.last_maxrate = default_maxrate
-       self.avgrate = default_avgrate
        self.last_avgrate = default_avgrate
-       self.avgexemptrate = default_avgexemptrate      
        self.last_avgexemptrate = default_avgexemptrate 
-       self.maxexemptrate = default_maxexemptrate      
        self.last_maxexemptrate = default_maxexemptrate 
         self.reset(maxrate, maxexemptrate, bytes, exemptbytes)
 
@@ -123,7 +119,7 @@ class Slice:
         self.bytes = bytes
         self.exemptbytes = exemptbytes
 
-       #If NM except"ns below, and new_max* doesn't get set, use last.
+       # If NM except"ns below, and new_max* doesn't get set, use last.
        new_maxrate = self.last_maxrate
        new_maxexemptrate = self.last_maxexemptrate
 
@@ -159,15 +155,19 @@ class Slice:
         it will get to send slightly more than the average daily byte
         limit.
         """
+       
+       # If NM except'ns below, and avg*rate doesn't get set, use last_*.
+       avgrate = self.last_avgrate
+       avgexemptrate = self.last_avgexemptrate
 
         # Query Node Manager for max average rate overrides
        try:
-               (self.avgrate, self.avgexemptrate) = nm.query(self.name, 
+               (avgrate, avgexemptrate) = nm.query(self.name, 
                        [('nm_net_avg_rate', self.last_avgrate), 
                        ('nm_net_avg_exempt_rate', self.last_avgexemptrate)])
                #If NM is alive, and there is a cap, update new
-               self.last_avgexemptrate = self.avgexemptrate
-               self.last_avgrate = self.avgrate
+               self.last_avgexemptrate = avgexemptrate
+               self.last_avgrate = avgrate
         except Exception, err:
                 print "Warning: Exception received while querying NM:", err
  
@@ -179,10 +179,10 @@ class Slice:
                   'date': time.asctime(time.gmtime()) + " GMT",
                   'period': format_period(period)} 
 
-        bytelimit = self.avgrate * period / bits_per_byte
+        bytelimit = avgrate * period / bits_per_byte
         if bytes >= (self.bytes + bytelimit) and \
-           maxrate > self.avgrate:
-            new_maxrate = self.avgrate
+           maxrate > avgrate:
+            new_maxrate = avgrate
         else:
             new_maxrate = maxrate
 
@@ -191,7 +191,7 @@ class Slice:
         params['bytes'] = format_bytes(bytes - self.bytes)
         params['maxrate'] = bwlimit.format_tc_rate(maxrate)
         params['limit'] = format_bytes(bytelimit)
-        params['avgrate'] = bwlimit.format_tc_rate(self.avgrate)
+        params['avgrate'] = bwlimit.format_tc_rate(avgrate)
 
         if verbose:
             print "%(slice)s %(class)s " \
@@ -203,10 +203,10 @@ class Slice:
             message += template % params
             print "%(slice)s %(class)s capped at %(avgrate)s (%(bytes)s/%(limit)s)" % params
 
-        exemptbytelimit = self.avgexemptrate * period / bits_per_byte
+        exemptbytelimit = avgexemptrate * period / bits_per_byte
         if exemptbytes >= (self.exemptbytes + exemptbytelimit) and \
-           maxexemptrate > self.avgexemptrate:
-            new_maxexemptrate = self.avgexemptrate
+           maxexemptrate > avgexemptrate:
+            new_maxexemptrate = avgexemptrate
         else:
             new_maxexemptrate = maxexemptrate
 
@@ -215,7 +215,7 @@ class Slice:
         params['bytes'] = format_bytes(exemptbytes - self.exemptbytes)
         params['maxrate'] = bwlimit.format_tc_rate(maxexemptrate)
         params['limit'] = format_bytes(exemptbytelimit)
-        params['avgrate'] = bwlimit.format_tc_rate(self.avgexemptrate)
+        params['avgrate'] = bwlimit.format_tc_rate(avgexemptrate)
 
         if verbose:
             print "%(slice)s %(class)s " \
@@ -298,11 +298,11 @@ def main():
         (version, slices) = pickle.load(f)
         f.close()
         # Check version of data file
-        if version != "$Id: bwmon.py,v 1.6 2006/07/10 15:19:35 faiyaza Exp $":
+        if version != "$Id: bwmon.py,v 1.7 2006/07/10 19:19:07 faiyaza Exp $":
             print "Not using old version '%s' data file %s" % (version, datafile)
             raise Exception
     except Exception:
-        version = "$Id: bwmon.py,v 1.6 2006/07/10 15:19:35 faiyaza Exp $"
+        version = "$Id: bwmon.py,v 1.7 2006/07/10 19:19:07 faiyaza Exp $"
         slices = {}
 
     # Get special slice IDs