exponentation operator to drop metric name in result of op operation (#5329)

Signed-off-by: Daisy T <daisyts@gmx.com>
This commit is contained in:
Daisy T 2019-03-12 11:21:42 +01:00 committed by Brian Brazil
parent 59369491cf
commit 683fbc59ec
2 changed files with 40 additions and 1 deletions

View File

@ -1893,7 +1893,7 @@ func btos(b bool) float64 {
// result of the op operation.
func shouldDropMetricName(op ItemType) bool {
switch op {
case itemADD, itemSUB, itemDIV, itemMUL, itemMOD:
case itemADD, itemSUB, itemDIV, itemMUL, itemPOW, itemMOD:
return true
default:
return false

View File

@ -350,6 +350,45 @@ eval instant at 5m node_cpu > on(job, instance) group_left(target) (threshold or
node_cpu{instance="def",job="node",mode="idle"} 8
node_cpu{instance="def",job="node",mode="user"} 2
# Check that binops drop the metric name.
eval instant at 5m node_cpu + 2
{instance="abc",job="node",mode="idle"} 5
{instance="abc",job="node",mode="user"} 3
{instance="def",job="node",mode="idle"} 10
{instance="def",job="node",mode="user"} 4
eval instant at 5m node_cpu - 2
{instance="abc",job="node",mode="idle"} 1
{instance="abc",job="node",mode="user"} -1
{instance="def",job="node",mode="idle"} 6
{instance="def",job="node",mode="user"} 0
eval instant at 5m node_cpu / 2
{instance="abc",job="node",mode="idle"} 1.5
{instance="abc",job="node",mode="user"} 0.5
{instance="def",job="node",mode="idle"} 4
{instance="def",job="node",mode="user"} 1
eval instant at 5m node_cpu * 2
{instance="abc",job="node",mode="idle"} 6
{instance="abc",job="node",mode="user"} 2
{instance="def",job="node",mode="idle"} 16
{instance="def",job="node",mode="user"} 4
eval instant at 5m node_cpu ^ 2
{instance="abc",job="node",mode="idle"} 9
{instance="abc",job="node",mode="user"} 1
{instance="def",job="node",mode="idle"} 64
{instance="def",job="node",mode="user"} 4
eval instant at 5m node_cpu % 2
{instance="abc",job="node",mode="idle"} 1
{instance="abc",job="node",mode="user"} 1
{instance="def",job="node",mode="idle"} 0
{instance="def",job="node",mode="user"} 0
clear
load 5m