min_stat.py 568 B

12345678910111213141516171819
  1. from __future__ import absolute_import
  2. import sys
  3. from kafka.metrics.stats.sampled_stat import AbstractSampledStat
  4. class Min(AbstractSampledStat):
  5. """An AbstractSampledStat that gives the min over its samples."""
  6. def __init__(self):
  7. super(Min, self).__init__(float(sys.maxsize))
  8. def update(self, sample, config, value, now):
  9. sample.value = min(sample.value, value)
  10. def combine(self, samples, config, now):
  11. if not samples:
  12. return float(sys.maxsize)
  13. return float(min(sample.value for sample in samples))