Пример #1
0
 def __init__(self, period, metric=None):
     ProxiedMetric.__init__(self, metric)
     self.period = period
     self.lastData = None
     self.percentChange = PercentChange(metric)
     self._addMetric(self.percentChange)
     self.changes = list()
     self.val = None
Пример #2
0
 def __init__(self, period, metric=None):
     ProxiedMetric.__init__(self, metric)
     self.period = period
     self.lastData = None
     self.percentChange = PercentChange(metric)
     self._addMetric(self.percentChange)
     self.changes = list()
     self.val = None
Пример #3
0
class PercentRank(ProxiedMetric):
    def __init__(self, period, metric=None):
        ProxiedMetric.__init__(self, metric)
        self.period = period
        self.lastData = None
        self.percentChange = PercentChange(metric)
        self._addMetric(self.percentChange)
        self.changes = list()
        self.val = None

    def ready(self):
        if self.val == None:
            return False
        else:
            return True

    def value(self):
        return self.val

    def handle(self, perioddata):
        ProxiedMetric.handle(self, perioddata)
        if self.percentChange.ready():
            nextchg = self.percentChange.value()
            if len(self.changes) == self.period:
                # have enough to calculate value, do it now before storing our latest value
                count = 0.0
                for pc in self.changes:
                    if pc < nextchg:
                        count = count + 1.0
                self.val = 100 * (count / float(self.period))
            self.changes.append(nextchg)
        if len(self.changes) > self.period:
            self.changes = self.changes[len(self.changes) - self.period:]
        pass

    def recommendedPreload(self):
        return ProxiedMetric.recommendedPreload(self) + self.period
Пример #4
0
class PercentRank(ProxiedMetric):
    def __init__(self, period, metric=None):
        ProxiedMetric.__init__(self, metric)
        self.period = period
        self.lastData = None
        self.percentChange = PercentChange(metric)
        self._addMetric(self.percentChange)
        self.changes = list()
        self.val = None

    def ready(self):
        if self.val == None:
            return False
        else:
            return True
    
    def value(self):
        return self.val
    
    def handle(self, perioddata):
        ProxiedMetric.handle(self, perioddata)
        if self.percentChange.ready():
            nextchg = self.percentChange.value()
            if len (self.changes) == self.period:
                # have enough to calculate value, do it now before storing our latest value
                count = 0.0
                for pc in self.changes:
                    if pc < nextchg:
                        count = count+1.0
                self.val = 100*(count/float(self.period))
            self.changes.append(nextchg)
        if len(self.changes) > self.period:
            self.changes = self.changes[len(self.changes)-self.period:]
        pass
    
    def recommendedPreload(self):
        return ProxiedMetric.recommendedPreload(self) + self.period