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 committed by Fabian Reinartz
parent ba7c737b25
commit 183f2b4da8
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 { func (node *BinaryExpr) String() string {
returnBool := ""
if node.ReturnBool {
returnBool = " BOOL"
}
matching := "" matching := ""
vm := node.VectorMatching vm := node.VectorMatching
if vm != nil && len(vm.On) > 0 { if vm != nil && len(vm.On) > 0 {
@ -157,7 +162,7 @@ func (node *BinaryExpr) String() string {
matching += fmt.Sprintf(" GROUP_RIGHT(%s)", vm.Include) 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 { 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: `sum(task:errors:rate10s{job="s"}) BY (code) KEEP_COMMON`,
}, },
{
in: `up > BOOL 0`,
},
} }
for _, test := range inputs { for _, test := range inputs {