Fix bool modifier in recording rules and printing.

Fixes https://github.com/prometheus/prometheus/issues/1065
This commit is contained in:
Julius Volz 2015-09-10 01:37:05 +02:00
parent 9a70ee752e
commit 6d3e054692
2 changed files with 9 additions and 1 deletions

View file

@ -146,6 +146,11 @@ func (node *AggregateExpr) String() string {
}
func (node *BinaryExpr) String() string {
returnBool := ""
if node.ReturnBool {
returnBool = " BOOL"
}
matching := ""
vm := node.VectorMatching
if vm != nil && len(vm.On) > 0 {
@ -157,7 +162,7 @@ func (node *BinaryExpr) String() string {
matching += fmt.Sprintf(" GROUP_RIGHT(%s)", vm.Include)
}
}
return fmt.Sprintf("%s %s%s %s", node.LHS, node.Op, matching, node.RHS)
return fmt.Sprintf("%s %s%s%s %s", node.LHS, node.Op, returnBool, matching, node.RHS)
}
func (node *Call) String() string {

View file

@ -30,6 +30,9 @@ func TestExprString(t *testing.T) {
{
in: `sum(task:errors:rate10s{job="s"}) BY (code) KEEP_COMMON`,
},
{
in: `up > BOOL 0`,
},
}
for _, test := range inputs {