'Initializes the histogram with the given ranges.
Args:
name: String name of this histogram.
buckets: The ranges the histogram counts over. This is a list of values,
where each value is the inclusive lower bound of the range. An extra
range will be implicitly defined which spans from negative infinity
to the lowest given lower bound. The highest given lower bound
defines a range spaning to positive infinity. This way any value will
be included in the histogram counts. For example, if `buckets` is
[4, 6, 10] the histogram will have ranges
[-inf, 4), [4, 6), [6, 10), [10, inf).
verbose_pretty_print: If True, self.pretty_print will print the count for
every bucket. If False, only buckets with positive counts will be
printed.'

def __init__(self, name, buckets, verbose_pretty_print=False):

    super(Histogram, self).__init__(name)
    self.buckets = ([float('-inf')] + sorted(set(buckets)))
    self.counters = dict([(bucket_lower, 0) for bucket_lower in self.buckets])
    self.verbose_pretty_print = verbose_pretty_print
