1# Copyright 2018, OpenCensus Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15 16class BucketBoundaries(object): 17 """The bucket boundaries for a histogram 18 19 :type boundaries: list(float) 20 :param boundaries: boundaries for the buckets in the underlying histogram 21 22 """ 23 def __init__(self, boundaries=None): 24 self._boundaries = list(boundaries or []) 25 26 @property 27 def boundaries(self): 28 """the current boundaries""" 29 return self._boundaries 30 31 def is_valid_boundaries(self, boundaries): 32 """checks if the boundaries are in ascending order""" 33 if boundaries is not None: 34 min_ = boundaries[0] 35 for value in boundaries: 36 if value < min_: 37 return False 38 else: 39 min_ = value 40 return True 41 return False 42