code: def tick(self):
      
      count = self._uncounted.getAndSet(0)
      instantRate = float(count) / self.interval
  
      if self._initialized:
        self.rate += (self.alpha * (instantRate - self.rate))
      else:
        self.rate = instantRate
        self._initialized = True
docs: Updates rates and decays