docs: def update(self, num):
          """Update metrics with the new number."""
          num = float(num)
          self.count += 1
          self.low = min(self.low, num)
          self.high = max(self.high, num)
  
          # Welford's online mean and variance algorithm.
          delta = num - self.mean
          self.mean = self.mean + delta / self.count
          delta2 = num - self.mean
          self._rolling_variance = self._rolling_variance + delta * delta2
  
          if self.count > 1:
              self.deviation = math.sqrt(self._rolling_variance / (self.count - 1))
          else:
              self.deviation = 0.0