Add support for decimal threshold values in alarm expressions
Change-Id: I5782a8712ee2da421d358fadc1a25d5b15f4aeab
This commit is contained in:
parent
88f505e84b
commit
d832aeed98
@ -143,7 +143,7 @@ class AlarmSubExpressionListener extends AlarmExpressionBaseListener {
|
||||
|
||||
@Override
|
||||
public void exitLiteral(AlarmExpressionParser.LiteralContext ctx) {
|
||||
threshold = Long.valueOf(ctx.getChild(0).getText());
|
||||
threshold = Double.valueOf(ctx.getChild(0).getText());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -121,7 +121,8 @@ period
|
||||
;
|
||||
|
||||
literal
|
||||
: INTEGER
|
||||
: DECIMAL
|
||||
| INTEGER
|
||||
;
|
||||
|
||||
repeat
|
||||
@ -205,6 +206,10 @@ AVG
|
||||
INTEGER
|
||||
: DIGIT+
|
||||
;
|
||||
|
||||
DECIMAL
|
||||
: '-'?[0-9]+('.'[0-9]+)?
|
||||
;
|
||||
|
||||
TXT
|
||||
: [//a-zA-Z_$/\\0-9]~('\''|';' | '}' | '{' | '=' | ','| '&' | ')' | '(' |' '| '"' )+
|
||||
|
@ -125,7 +125,7 @@ public class AlarmSubExpressionTest {
|
||||
|
||||
public void shouldDefaultPeriodAndPeriods() {
|
||||
AlarmExpression expr = new AlarmExpression(
|
||||
"avg(hpcs.compute{metric_name=cpu, device=1, instance_id=5}) > 5");
|
||||
"avg(hpcs.compute{metric_name=cpu, device=1, instance_id=2}) > 5");
|
||||
AlarmSubExpression alarm = expr.getSubExpressions().get(0);
|
||||
assertEquals(alarm.getPeriod(), 60);
|
||||
assertEquals(alarm.getPeriods(), 1);
|
||||
@ -148,4 +148,8 @@ public class AlarmSubExpressionTest {
|
||||
AlarmSubExpression.of("avg(hpcs.compute{metric_name=cpu, device=1}, 45) > 5 times 4")
|
||||
.getExpression(), "avg(hpcs.compute{device=1, metric_name=cpu}, 45) > 5.0 times 4");
|
||||
}
|
||||
|
||||
public void shouldAllowDecimalThresholds() {
|
||||
assertEquals(AlarmSubExpression.of("avg(hpcs.compute) > 2.375").getThreshold(), 2.375);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user