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