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"] 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) )