def test_compare_thresh(self):
        values = [501, 500, 4999]
        self.assertEqual('ALARM',
                         calculator.compare_thresh(values, 'GTE', 500))

        self.assertEqual('OK', calculator.compare_thresh(values, 'GT', 500))

        values = [501, 500, 4999, None]
        self.assertEqual('UNDETERMINED',
                         calculator.compare_thresh(values, 'LTE', 5000))

        values = [501, 500, 4999, None]
        self.assertEqual('OK', calculator.compare_thresh(values, 'LT', 4999))
Esempio n. 2
0
    def test_compare_thresh(self):
        values = [501, 500, 4999]
        self.assertEqual('ALARM',
                         calculator.compare_thresh(values, 'GTE', 500))

        self.assertEqual('OK', calculator.compare_thresh(values, 'GT', 500))

        values = [501, 500, 4999, None]
        self.assertEqual('UNDETERMINED',
                         calculator.compare_thresh(values, 'LTE', 5000))

        values = [501, 500, 4999, None]
        self.assertEqual('OK', calculator.compare_thresh(values, 'LT', 4999))
 def _update_state():
     """Update state of a sub expr."""
     data_sub = expr_data['data'][expr.fmtd_sub_expr_str]
     data_list = data_sub['metrics']
     period = float(expr.period)
     periods = int(expr.periods)
     right = t_now
     left = right - period
     temp_data = []
     value_in_periods = []
     i = len(data_list) - 1
     while i >= 0:
         if data_list[i]['timestamp'] >= left:
             temp_data.append(float(data_list[i]['value']))
         else:
             value = calculator.calc_value(expr.normalized_func,
                                           temp_data)
             value_in_periods.append(value)
             right = left
             left = right - period
             temp_data = []
             i += 1
         i -= 1
     value = calculator.calc_value(expr.normalized_func, temp_data)
     value_in_periods.append(value)
     for i in range(len(value_in_periods), periods, 1):
         value_in_periods.append(
             calculator.calc_value(expr.normalized_func, []))
     expr_data['data'][expr.fmtd_sub_expr_str]['values'] = (
         value_in_periods)
     expr_data['data'][expr.fmtd_sub_expr_str]['state'] = (
         calculator.compare_thresh(value_in_periods,
                                   expr.normalized_operator,
                                   float(expr.threshold)))
 def _update_state():
     """Update state of a sub expr."""
     data_sub = expr_data['data'][expr.fmtd_sub_expr_str]
     data_list = data_sub['metrics']
     if len(data_list) == 0:
         data_sub['state'] = 'UNDETERMINED'
     else:
         period = float(expr.period)
         periods = int(expr.periods)
         right = t_now
         left = right - period
         temp_data = []
         value_in_periods = []
         for i in range(len(data_list) - 1, -1, -1):
             if data_list[i]['timestamp'] >= left:
                 temp_data.append(float(data_list[i]['value']))
             else:
                 value = calculator.calc_value(
                     expr.normalized_func, temp_data)
                 value_in_periods.append(value)
                 right = left
                 left = right - period
                 temp_data = []
         value = calculator.calc_value(
             expr.normalized_func, temp_data)
         value_in_periods.append(value)
         for i in range(len(value_in_periods), periods, 1):
             value_in_periods.append(None)
         expr_data['data'][expr.fmtd_sub_expr_str]['values'] = (
             value_in_periods)
         expr_data['data'][expr.fmtd_sub_expr_str]['state'] = (
             calculator.compare_thresh(
                 value_in_periods,
                 expr.normalized_operator,
                 float(expr.threshold)))