github.com/m3db/m3@v1.5.1-0.20231129193456-75a402aa583b/src/query/test/compatibility/testdata/legacy.test (about)

     1  load 5m
     2  	http_requests{job="api-server", instance="0", group="production"}	0+10x10
     3  	http_requests{job="api-server", instance="1", group="production"}	0+20x10
     4  	http_requests{job="api-server", instance="0", group="canary"}		0+30x10
     5  	http_requests{job="api-server", instance="1", group="canary"}		0+40x10
     6  	http_requests{job="app-server", instance="0", group="production"}	0+50x10
     7  	http_requests{job="app-server", instance="1", group="production"}	0+60x10
     8  	http_requests{job="app-server", instance="0", group="canary"}		0+70x10
     9  	http_requests{job="app-server", instance="1", group="canary"}		0+80x10
    10  
    11  load 5m
    12  	x{y="testvalue"} 0+10x10
    13  
    14  load 5m
    15  	testcounter_reset_middle	0+10x4 0+10x5
    16  	testcounter_reset_end    	0+10x9 0 10
    17  
    18  load 4m
    19  	testcounter_zero_cutoff{start="0m"}	0+240x10
    20  	testcounter_zero_cutoff{start="1m"}	60+240x10
    21  	testcounter_zero_cutoff{start="2m"}	120+240x10
    22  	testcounter_zero_cutoff{start="3m"}	180+240x10
    23  	testcounter_zero_cutoff{start="4m"}	240+240x10
    24  	testcounter_zero_cutoff{start="5m"}	300+240x10
    25  
    26  load 5m
    27  	label_grouping_test{a="aa", b="bb"}	0+10x10
    28  	label_grouping_test{a="a", b="abb"}	0+20x10
    29  
    30  load 5m
    31  	vector_matching_a{l="x"} 0+1x100
    32  	vector_matching_a{l="y"} 0+2x50
    33  	vector_matching_b{l="x"} 0+4x25
    34  
    35  load 5m
    36  	cpu_count{instance="0", type="numa"}	0+30x10
    37  	cpu_count{instance="0", type="smp"} 	0+10x20
    38  	cpu_count{instance="1", type="smp"} 	0+20x10
    39  
    40  
    41  eval instant at 50m SUM(http_requests)
    42  	{} 3600
    43  
    44  eval instant at 50m SUM(http_requests{instance="0"}) BY(job)
    45  	{job="api-server"} 400
    46  	{job="app-server"} 1200
    47  
    48  eval instant at 50m SUM(http_requests) BY (job)
    49  	{job="api-server"} 1000
    50  	{job="app-server"} 2600
    51  
    52  # Non-existent labels mentioned in BY-clauses shouldn't propagate to output.
    53  eval instant at 50m SUM(http_requests) BY (job, nonexistent)
    54  	{job="api-server"} 1000
    55  	{job="app-server"} 2600
    56  
    57  
    58  eval instant at 50m COUNT(http_requests) BY (job)
    59  	{job="api-server"} 4
    60  	{job="app-server"} 4
    61  
    62  
    63  eval instant at 50m SUM(http_requests) BY (job, group)
    64  	{group="canary", job="api-server"} 700
    65  	{group="canary", job="app-server"} 1500
    66  	{group="production", job="api-server"} 300
    67  	{group="production", job="app-server"} 1100
    68  
    69  
    70  eval instant at 50m AVG(http_requests) BY (job)
    71  	{job="api-server"} 250
    72  	{job="app-server"} 650
    73  
    74  
    75  eval instant at 50m MIN(http_requests) BY (job)
    76  	{job="api-server"} 100
    77  	{job="app-server"} 500
    78  
    79  
    80  eval instant at 50m MAX(http_requests) BY (job)
    81  	{job="api-server"} 400
    82  	{job="app-server"} 800
    83  
    84  
    85  # Single-letter label names and values.
    86  eval instant at 50m x{y="testvalue"}
    87  	x{y="testvalue"} 100
    88  
    89  
    90  # Rates should calculate per-second rates.
    91  eval instant at 50m rate(http_requests{group="canary", instance="1", job="app-server"}[50m])
    92  	{group="canary", instance="1", job="app-server"} 0.26666666666666666
    93  
    94  
    95  # Counter resets at in the middle of range are handled correctly by rate().
    96  eval instant at 50m rate(testcounter_reset_middle[50m])
    97  	{} 0.03
    98  
    99  
   100  # Counter resets at end of range are ignored by rate().
   101  eval instant at 50m rate(testcounter_reset_end[5m])
   102  	{} 0
   103  
   104  
   105  # Zero cutoff for left-side extrapolation.
   106  eval instant at 10m rate(testcounter_zero_cutoff[20m])
   107  	{start="0m"} 0.5
   108  	{start="1m"} 0.55
   109  	{start="2m"} 0.6
   110  	{start="3m"} 0.65
   111  	{start="4m"} 0.7
   112  	{start="5m"} 0.6
   113  
   114  # Normal half-interval cutoff for left-side extrapolation.
   115  eval instant at 50m rate(testcounter_zero_cutoff[20m])
   116  	{start="0m"} 0.6
   117  	{start="1m"} 0.6
   118  	{start="2m"} 0.6
   119  	{start="3m"} 0.6
   120  	{start="4m"} 0.6
   121  	{start="5m"} 0.6
   122  
   123  
   124  eval instant at 50m http_requests{group!="canary"}
   125  	http_requests{group="production", instance="1", job="app-server"} 600
   126  	http_requests{group="production", instance="0", job="app-server"} 500
   127  	http_requests{group="production", instance="1", job="api-server"} 200
   128  	http_requests{group="production", instance="0", job="api-server"} 100
   129  
   130  eval instant at 50m http_requests{job=~".+-server",group!="canary"}
   131  	http_requests{group="production", instance="1", job="app-server"} 600
   132  	http_requests{group="production", instance="0", job="app-server"} 500
   133  	http_requests{group="production", instance="1", job="api-server"} 200
   134  	http_requests{group="production", instance="0", job="api-server"} 100
   135  
   136  eval instant at 50m http_requests{job!~"api-.+",group!="canary"}
   137  	http_requests{group="production", instance="1", job="app-server"} 600
   138  	http_requests{group="production", instance="0", job="app-server"} 500
   139  
   140  eval instant at 50m http_requests{group="production",job=~"api-.+"}
   141  	http_requests{group="production", instance="0", job="api-server"} 100
   142  	http_requests{group="production", instance="1", job="api-server"} 200
   143  
   144  eval instant at 50m abs(-1 * http_requests{group="production",job="api-server"})
   145  	{group="production", instance="0", job="api-server"} 100
   146  	{group="production", instance="1", job="api-server"} 200
   147  
   148  eval instant at 50m floor(0.004 * http_requests{group="production",job="api-server"})
   149  	{group="production", instance="0", job="api-server"} 0
   150  	{group="production", instance="1", job="api-server"} 0
   151  
   152  eval instant at 50m ceil(0.004 * http_requests{group="production",job="api-server"})
   153  	{group="production", instance="0", job="api-server"} 1
   154  	{group="production", instance="1", job="api-server"} 1
   155  
   156  eval instant at 50m round(0.004 * http_requests{group="production",job="api-server"})
   157  	{group="production", instance="0", job="api-server"} 0
   158  	{group="production", instance="1", job="api-server"} 1
   159  
   160  # Round should correctly handle negative numbers.
   161  eval instant at 50m round(-1 * (0.004 * http_requests{group="production",job="api-server"}))
   162  	{group="production", instance="0", job="api-server"} 0
   163  	{group="production", instance="1", job="api-server"} -1
   164  
   165  # Round should round half up.
   166  eval instant at 50m round(0.005 * http_requests{group="production",job="api-server"})
   167  	{group="production", instance="0", job="api-server"} 1
   168  	{group="production", instance="1", job="api-server"} 1
   169  
   170  eval instant at 50m round(-1 * (0.005 * http_requests{group="production",job="api-server"}))
   171  	{group="production", instance="0", job="api-server"} 0
   172  	{group="production", instance="1", job="api-server"} -1
   173  
   174  eval instant at 50m round(1 + 0.005 * http_requests{group="production",job="api-server"})
   175  	{group="production", instance="0", job="api-server"} 2
   176  	{group="production", instance="1", job="api-server"} 2
   177  
   178  eval instant at 50m round(-1 * (1 + 0.005 * http_requests{group="production",job="api-server"}))
   179  	{group="production", instance="0", job="api-server"} -1
   180  	{group="production", instance="1", job="api-server"} -2
   181  
   182  # Round should accept the number to round nearest to.
   183  eval instant at 50m round(0.0005 * http_requests{group="production",job="api-server"}, 0.1)
   184  	{group="production", instance="0", job="api-server"} 0.1
   185  	{group="production", instance="1", job="api-server"} 0.1
   186  
   187  eval instant at 50m round(2.1 + 0.0005 * http_requests{group="production",job="api-server"}, 0.1)
   188  	{group="production", instance="0", job="api-server"} 2.2
   189  	{group="production", instance="1", job="api-server"} 2.2
   190  
   191  eval instant at 50m round(5.2 + 0.0005 * http_requests{group="production",job="api-server"}, 0.1)
   192  	{group="production", instance="0", job="api-server"} 5.3
   193  	{group="production", instance="1", job="api-server"} 5.3
   194  
   195  # Round should work correctly with negative numbers and multiple decimal places.
   196  eval instant at 50m round(-1 * (5.2 + 0.0005 * http_requests{group="production",job="api-server"}), 0.1)
   197  	{group="production", instance="0", job="api-server"} -5.2
   198  	{group="production", instance="1", job="api-server"} -5.3
   199  
   200  # Round should work correctly with big toNearests.
   201  eval instant at 50m round(0.025 * http_requests{group="production",job="api-server"}, 5)
   202  	{group="production", instance="0", job="api-server"} 5
   203  	{group="production", instance="1", job="api-server"} 5
   204  
   205  eval instant at 50m round(0.045 * http_requests{group="production",job="api-server"}, 5)
   206  	{group="production", instance="0", job="api-server"} 5
   207  	{group="production", instance="1", job="api-server"} 10
   208  
   209  eval instant at 50m avg_over_time(http_requests{group="production",job="api-server"}[1h])
   210  	{group="production", instance="0", job="api-server"} 50
   211  	{group="production", instance="1", job="api-server"} 100
   212  
   213  eval instant at 50m count_over_time(http_requests{group="production",job="api-server"}[1h])
   214  	{group="production", instance="0", job="api-server"} 11
   215  	{group="production", instance="1", job="api-server"} 11
   216  
   217  eval instant at 50m max_over_time(http_requests{group="production",job="api-server"}[1h])
   218  	{group="production", instance="0", job="api-server"} 100
   219  	{group="production", instance="1", job="api-server"} 200
   220  
   221  eval instant at 50m min_over_time(http_requests{group="production",job="api-server"}[1h])
   222  	{group="production", instance="0", job="api-server"} 0
   223  	{group="production", instance="1", job="api-server"} 0
   224  
   225  eval instant at 50m sum_over_time(http_requests{group="production",job="api-server"}[1h])
   226  	{group="production", instance="0", job="api-server"} 550
   227  	{group="production", instance="1", job="api-server"} 1100
   228  
   229  # FAILING. eval instant at 50m time()
   230  #	3000
   231  
   232  eval instant at 50m {__name__=~".+"}
   233  	http_requests{group="canary", instance="0", job="api-server"} 300
   234  	http_requests{group="canary", instance="0", job="app-server"} 700
   235  	http_requests{group="canary", instance="1", job="api-server"} 400
   236  	http_requests{group="canary", instance="1", job="app-server"} 800
   237  	http_requests{group="production", instance="0", job="api-server"} 100
   238  	http_requests{group="production", instance="0", job="app-server"} 500
   239  	http_requests{group="production", instance="1", job="api-server"} 200
   240  	http_requests{group="production", instance="1", job="app-server"} 600
   241  	testcounter_reset_end 0
   242  	testcounter_reset_middle 50
   243  	x{y="testvalue"} 100
   244  	label_grouping_test{a="a", b="abb"} 200
   245  	label_grouping_test{a="aa", b="bb"} 100
   246  	vector_matching_a{l="x"} 10
   247  	vector_matching_a{l="y"} 20
   248  	vector_matching_b{l="x"} 40
   249  	cpu_count{instance="1", type="smp"} 200
   250  	cpu_count{instance="0", type="smp"} 100
   251  	cpu_count{instance="0", type="numa"} 300
   252  
   253  
   254  eval instant at 50m {job=~".+-server", job!~"api-.+"}
   255  	http_requests{group="canary", instance="0", job="app-server"} 700
   256  	http_requests{group="canary", instance="1", job="app-server"} 800
   257  	http_requests{group="production", instance="0", job="app-server"} 500
   258  	http_requests{group="production", instance="1", job="app-server"} 600
   259  
   260  # eval instant at 50m absent(nonexistent)
   261  #	{} 1
   262  
   263  # FAILING issue #52. eval instant at 50m absent(nonexistent{job="testjob", instance="testinstance", method=~".x"})
   264  #	{instance="testinstance", job="testjob"} 1
   265  
   266  # FAILING issue #52. eval instant at 50m absent(nonexistent{job="testjob",job="testjob2",foo="bar"})
   267  #	{foo="bar"} 1
   268  
   269  # FAILING issue #52. eval instant at 50m absent(nonexistent{job="testjob",job="testjob2",job="three",foo="bar"})
   270  #	{foo="bar"} 1
   271  
   272  # FAILING issue #52. eval instant at 50m absent(nonexistent{job="testjob",job=~"testjob2",foo="bar"})
   273  #	{foo="bar"} 1
   274  
   275  eval instant at 50m absent(http_requests)
   276  
   277  eval instant at 50m absent(sum(http_requests))
   278  
   279  # FAILING issue #52. eval instant at 50m absent(sum(nonexistent{job="testjob", instance="testinstance"}))
   280  #	{} 1
   281  
   282  # FAILING issue #52. eval instant at 50m absent(max(nonexistant))
   283  #	{} 1
   284  
   285  # FAILING issue #52. eval instant at 50m absent(nonexistant > 1)
   286  #	{} 1
   287  
   288  # FAILING issue #52. eval instant at 50m absent(a + b)
   289  #	{} 1
   290  
   291  # FAILING issue #52. eval instant at 50m absent(a and b)
   292  #	{} 1
   293  
   294  # FAILING issue #52. eval instant at 50m absent(rate(nonexistant[5m]))
   295  #	{} 1
   296  
   297  eval instant at 50m http_requests{group="production",job="api-server"} offset 5m
   298  	http_requests{group="production", instance="0", job="api-server"} 90
   299  	http_requests{group="production", instance="1", job="api-server"} 180
   300  
   301  eval instant at 50m rate(http_requests{group="production",job="api-server"}[10m] offset 5m)
   302  	{group="production", instance="0", job="api-server"} 0.03333333333333333
   303  	{group="production", instance="1", job="api-server"} 0.06666666666666667
   304  
   305  eval instant at 50m http_requests{group="canary", instance="0", job="api-server"} / 0
   306  	{group="canary", instance="0", job="api-server"} +Inf
   307  
   308  eval instant at 50m -1 * http_requests{group="canary", instance="0", job="api-server"} / 0
   309  	{group="canary", instance="0", job="api-server"} -Inf
   310  
   311  # Failing with keepNaN feature. eval instant at 50m 0 * http_requests{group="canary", instance="0", job="api-server"} / 0
   312  #	{group="canary", instance="0", job="api-server"} NaN
   313  
   314  # Failing with keepNaN feature. eval instant at 50m 0 * http_requests{group="canary", instance="0", job="api-server"} % 0
   315  #	{group="canary", instance="0", job="api-server"} NaN
   316  
   317  # FAILING issue #53. eval instant at 50m exp(vector_matching_a)
   318  #	{l="x"} 22026.465794806718
   319  #	{l="y"} 485165195.4097903
   320  
   321  eval instant at 50m exp(vector_matching_a - 10)
   322  	{l="y"} 22026.465794806718
   323  	{l="x"} 1
   324  
   325  eval instant at 50m exp(vector_matching_a - 20)
   326  	{l="x"} 4.5399929762484854e-05
   327  	{l="y"} 1
   328  
   329  # FAILING issue #53. eval instant at 50m ln(vector_matching_a)
   330  #	{l="x"} 2.302585092994046
   331  #	{l="y"} 2.995732273553991
   332  
   333  eval instant at 50m ln(vector_matching_a - 10)
   334  	{l="y"} 2.302585092994046
   335  	{l="x"} -Inf
   336  
   337  # FAILING with keepNaN feature. eval instant at 50m ln(vector_matching_a - 20)
   338  #	{l="y"} -Inf
   339  #	{l="x"} NaN
   340  
   341  # FAILING issue #53. eval instant at 50m exp(ln(vector_matching_a))
   342  #	{l="y"} 20
   343  #	{l="x"} 10
   344  
   345  # FAILING issue #53. eval instant at 50m sqrt(vector_matching_a)
   346  #	{l="x"} 3.1622776601683795
   347  #	{l="y"} 4.47213595499958
   348  
   349  # FAILING issue #53. eval instant at 50m log2(vector_matching_a)
   350  #	{l="x"} 3.3219280948873626
   351  #	{l="y"} 4.321928094887363
   352  
   353  eval instant at 50m log2(vector_matching_a - 10)
   354  	{l="y"} 3.3219280948873626
   355  	{l="x"} -Inf
   356  
   357  # FAILING with keepNaN feature. eval instant at 50m log2(vector_matching_a - 20)
   358  #	{l="x"} NaN
   359  #	{l="y"} -Inf
   360  
   361  # FAILING issue #53. eval instant at 50m log10(vector_matching_a)
   362  #	{l="x"} 1
   363  #	{l="y"} 1.301029995663981
   364  
   365  eval instant at 50m log10(vector_matching_a - 10)
   366  	{l="y"} 1
   367  	{l="x"} -Inf
   368  
   369  # FAILING with keepNaN feature. eval instant at 50m log10(vector_matching_a - 20)
   370  #	{l="x"} NaN
   371  #	{l="y"} -Inf
   372  
   373  
   374  # Matrix tests.
   375  clear
   376  
   377  load 1h
   378  	testmetric{aa="bb"} 1
   379  	testmetric{a="abb"} 2
   380  
   381  eval instant at 0h testmetric
   382  	testmetric{aa="bb"} 1
   383  	testmetric{a="abb"} 2
   384  
   385  clear
   386  
   387  # Test duplicate labelset in promql output.
   388  load 5m
   389    testmetric1{src="a",dst="b"} 0
   390    testmetric2{src="a",dst="b"} 1
   391  
   392  # FAILING. eval_fail instant at 0m ceil({__name__=~'testmetric1|testmetric2'})