33 lines
790 B
Python
33 lines
790 B
Python
|
class Metrics(object):
|
||
|
sharedInstance = None
|
||
|
|
||
|
@staticmethod
|
||
|
def getSharedInstance():
|
||
|
if Metrics.sharedInstance is None:
|
||
|
Metrics.sharedInstance = Metrics()
|
||
|
return Metrics.sharedInstance
|
||
|
|
||
|
def __init__(self):
|
||
|
self.metrics = {}
|
||
|
|
||
|
def pushDecodes(self, band, mode, count = 1):
|
||
|
if band is None:
|
||
|
band = 'unknown'
|
||
|
else:
|
||
|
band = band.getName()
|
||
|
|
||
|
if mode is None:
|
||
|
mode = 'unknown'
|
||
|
|
||
|
if not band in self.metrics:
|
||
|
self.metrics[band] = {}
|
||
|
if not mode in self.metrics[band]:
|
||
|
self.metrics[band][mode] = {
|
||
|
"count": 0
|
||
|
}
|
||
|
|
||
|
self.metrics[band][mode]["count"] += count
|
||
|
|
||
|
def getMetrics(self):
|
||
|
return self.metrics
|