Fix for setting integer stats values in worker.

Also extend the TypeError exception from lbstats.py to output the
invalid value for easier debugging.

Change-Id: Id6475ee754db1031968ff57b503eb0f957b391e6
This commit is contained in:
David Shrewsbury
2012-11-12 17:40:00 -05:00
parent 11be8881aa
commit deadd932bf
2 changed files with 6 additions and 3 deletions

View File

@@ -28,7 +28,7 @@ class LBStatistics(object):
@bytes_out.setter @bytes_out.setter
def bytes_out(self, value): def bytes_out(self, value):
if not isinstance(value, int): if not isinstance(value, int):
raise TypeError("Must be an integer.") raise TypeError("Must be an integer: '%s'" % value)
self.stats['bytes_out'] = value self.stats['bytes_out'] = value
@property @property
@@ -38,5 +38,5 @@ class LBStatistics(object):
@bytes_in.setter @bytes_in.setter
def bytes_in(self, value): def bytes_in(self, value):
if not isinstance(value, int): if not isinstance(value, int):
raise TypeError("Must be an integer.") raise TypeError("Must be an integer: '%s'" % value)
self.stats['bytes_in'] = value self.stats['bytes_in'] = value

View File

@@ -141,7 +141,10 @@ class UbuntuServices(ServicesBase):
reader = csv.DictReader(csv_lines) reader = csv.DictReader(csv_lines)
for row in reader: for row in reader:
if row['pxname'] == proxy_name and row['svname'] == service_name: if row['pxname'] == proxy_name and row['svname'] == service_name:
stats.bytes_out = row['bout'] if row['bout']:
stats.bytes_out = int(row['bout'])
if row['bin']:
stats.bytes_in = int(row['bin'])
break break
return stats return stats