@@ -148,7 +148,7 @@ public void populateIndex() {
148148 public void testSimpleMetrics () {
149149 List <String > sortedGroups = docs .stream ().map (d -> d .host ).distinct ().sorted ().toList ();
150150 client ().admin ().indices ().prepareRefresh ("hosts" ).get ();
151- try (EsqlQueryResponse resp = run ("METRICS hosts load=avg(cpu) BY host | SORT host" )) {
151+ try (EsqlQueryResponse resp = run ("METRICS hosts | STATS load=avg(cpu) BY host | SORT host" )) {
152152 List <List <Object >> rows = EsqlTestUtils .getValuesList (resp );
153153 assertThat (rows , hasSize (sortedGroups .size ()));
154154 for (int i = 0 ; i < rows .size (); i ++) {
@@ -195,14 +195,14 @@ record RateKey(String cluster, String host) {
195195 rates .add (v );
196196 }
197197 }
198- try (var resp = run ("METRICS hosts sum(rate(request_count, 1second))" )) {
198+ try (var resp = run ("METRICS hosts | STATS sum(rate(request_count, 1second))" )) {
199199 assertThat (resp .columns (), equalTo (List .of (new ColumnInfoImpl ("sum(rate(request_count, 1second))" , "double" ))));
200200 List <List <Object >> values = EsqlTestUtils .getValuesList (resp );
201201 assertThat (values , hasSize (1 ));
202202 assertThat (values .get (0 ), hasSize (1 ));
203203 assertThat ((double ) values .get (0 ).get (0 ), closeTo (rates .stream ().mapToDouble (d -> d ).sum (), 0.1 ));
204204 }
205- try (var resp = run ("METRICS hosts max(rate(request_count)), min(rate(request_count))" )) {
205+ try (var resp = run ("METRICS hosts | STATS max(rate(request_count)), min(rate(request_count))" )) {
206206 assertThat (
207207 resp .columns (),
208208 equalTo (
@@ -218,7 +218,9 @@ record RateKey(String cluster, String host) {
218218 assertThat ((double ) values .get (0 ).get (0 ), closeTo (rates .stream ().mapToDouble (d -> d ).max ().orElse (0.0 ), 0.1 ));
219219 assertThat ((double ) values .get (0 ).get (1 ), closeTo (rates .stream ().mapToDouble (d -> d ).min ().orElse (0.0 ), 0.1 ));
220220 }
221- try (var resp = run ("METRICS hosts max(rate(request_count)), avg(rate(request_count)), max(rate(request_count, 1minute))" )) {
221+ try (
222+ var resp = run ("METRICS hosts | STATS max(rate(request_count)), avg(rate(request_count)), max(rate(request_count, 1minute))" )
223+ ) {
222224 assertThat (
223225 resp .columns (),
224226 equalTo (
@@ -237,7 +239,7 @@ record RateKey(String cluster, String host) {
237239 assertThat ((double ) values .get (0 ).get (1 ), closeTo (avg , 0.1 ));
238240 assertThat ((double ) values .get (0 ).get (2 ), closeTo (rates .stream ().mapToDouble (d -> d * 60.0 ).max ().orElse (0.0 ), 0.1 ));
239241 }
240- try (var resp = run ("METRICS hosts avg(rate(request_count)), avg(rate(request_count, 1second))" )) {
242+ try (var resp = run ("METRICS hosts | STATS avg(rate(request_count)), avg(rate(request_count, 1second))" )) {
241243 assertThat (
242244 resp .columns (),
243245 equalTo (
@@ -254,7 +256,7 @@ record RateKey(String cluster, String host) {
254256 assertThat ((double ) values .get (0 ).get (0 ), closeTo (avg , 0.1 ));
255257 assertThat ((double ) values .get (0 ).get (1 ), closeTo (avg , 0.1 ));
256258 }
257- try (var resp = run ("METRICS hosts max(rate(request_count)), min(rate(request_count)), min(cpu), max(cpu)" )) {
259+ try (var resp = run ("METRICS hosts | STATS max(rate(request_count)), min(rate(request_count)), min(cpu), max(cpu)" )) {
258260 assertThat (
259261 resp .columns (),
260262 equalTo (
@@ -294,7 +296,7 @@ record RateKey(String cluster, String host) {
294296 values .add (Objects .requireNonNullElse (rate , 0.0 ));
295297 }
296298 List <String > sortedKeys = bucketToRates .keySet ().stream ().sorted ().toList ();
297- try (var resp = run ("METRICS hosts sum(rate(request_count)) BY cluster | SORT cluster" )) {
299+ try (var resp = run ("METRICS hosts | STATS sum(rate(request_count)) BY cluster | SORT cluster" )) {
298300 assertThat (
299301 resp .columns (),
300302 equalTo (List .of (new ColumnInfoImpl ("sum(rate(request_count))" , "double" ), new ColumnInfoImpl ("cluster" , "keyword" )))
@@ -309,7 +311,7 @@ record RateKey(String cluster, String host) {
309311 assertThat ((double ) row .get (0 ), closeTo (bucketToRates .get (key ).stream ().mapToDouble (d -> d ).sum (), 0.1 ));
310312 }
311313 }
312- try (var resp = run ("METRICS hosts avg(rate(request_count)) BY cluster | SORT cluster" )) {
314+ try (var resp = run ("METRICS hosts | STATS avg(rate(request_count)) BY cluster | SORT cluster" )) {
313315 assertThat (
314316 resp .columns (),
315317 equalTo (List .of (new ColumnInfoImpl ("avg(rate(request_count))" , "double" ), new ColumnInfoImpl ("cluster" , "keyword" )))
@@ -330,7 +332,9 @@ record RateKey(String cluster, String host) {
330332 }
331333 }
332334 }
333- try (var resp = run ("METRICS hosts avg(rate(request_count, 1minute)), avg(rate(request_count)) BY cluster | SORT cluster" )) {
335+ try (
336+ var resp = run ("METRICS hosts | STATS avg(rate(request_count, 1minute)), avg(rate(request_count)) BY cluster | SORT cluster" )
337+ ) {
334338 assertThat (
335339 resp .columns (),
336340 equalTo (
@@ -378,7 +382,7 @@ record RateKey(String host, String cluster, long interval) {}
378382 }
379383 }
380384 List <Long > sortedKeys = bucketToRates .keySet ().stream ().sorted ().limit (5 ).toList ();
381- try (var resp = run ("METRICS hosts sum(rate(request_count)) BY ts=bucket(@timestamp, 1 minute) | SORT ts | LIMIT 5" )) {
385+ try (var resp = run ("METRICS hosts | STATS sum(rate(request_count)) BY ts=bucket(@timestamp, 1 minute) | SORT ts | LIMIT 5" )) {
382386 assertThat (
383387 resp .columns (),
384388 equalTo (List .of (new ColumnInfoImpl ("sum(rate(request_count))" , "double" ), new ColumnInfoImpl ("ts" , "date" )))
@@ -398,7 +402,7 @@ record RateKey(String host, String cluster, long interval) {}
398402 }
399403 }
400404 }
401- try (var resp = run ("METRICS hosts avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute) | SORT ts | LIMIT 5" )) {
405+ try (var resp = run ("METRICS hosts | STATS avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute) | SORT ts | LIMIT 5" )) {
402406 assertThat (
403407 resp .columns (),
404408 equalTo (List .of (new ColumnInfoImpl ("avg(rate(request_count))" , "double" ), new ColumnInfoImpl ("ts" , "date" )))
@@ -420,7 +424,8 @@ record RateKey(String host, String cluster, long interval) {}
420424 }
421425 }
422426 try (var resp = run ("""
423- METRICS hosts avg(rate(request_count, 1minute)), avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute)
427+ METRICS hosts
428+ | STATS avg(rate(request_count, 1minute)), avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute)
424429 | SORT ts
425430 | LIMIT 5
426431 """ )) {
@@ -483,7 +488,8 @@ record GroupKey(String cluster, long interval) {}
483488 .limit (5 )
484489 .toList ();
485490 try (var resp = run ("""
486- METRICS hosts sum(rate(request_count)) BY ts=bucket(@timestamp, 1 minute), cluster
491+ METRICS hosts
492+ | STATS sum(rate(request_count)) BY ts=bucket(@timestamp, 1 minute), cluster
487493 | SORT ts, cluster
488494 | LIMIT 5""" )) {
489495 assertThat (
@@ -513,7 +519,8 @@ METRICS hosts sum(rate(request_count)) BY ts=bucket(@timestamp, 1 minute), clust
513519 }
514520 }
515521 try (var resp = run ("""
516- METRICS hosts avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute), cluster
522+ METRICS hosts
523+ | STATS avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute), cluster
517524 | SORT ts, cluster
518525 | LIMIT 5""" )) {
519526 assertThat (
@@ -544,7 +551,8 @@ METRICS hosts avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute), cluste
544551 }
545552 }
546553 try (var resp = run ("""
547- METRICS hosts avg(rate(request_count, 1minute)), avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute), cluster
554+ METRICS hosts
555+ | STATS avg(rate(request_count, 1minute)), avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute), cluster
548556 | SORT ts, cluster
549557 | LIMIT 5""" )) {
550558 assertThat (
@@ -579,6 +587,7 @@ METRICS hosts avg(rate(request_count, 1minute)), avg(rate(request_count)) BY ts=
579587 }
580588 try (var resp = run ("""
581589 METRICS hosts
590+ | STATS
582591 s = sum(rate(request_count)),
583592 c = count(rate(request_count)),
584593 max(rate(request_count)),
@@ -623,7 +632,8 @@ METRICS hosts avg(rate(request_count, 1minute)), avg(rate(request_count)) BY ts=
623632 }
624633 }
625634 try (var resp = run ("""
626- METRICS hosts sum(rate(request_count)), max(cpu) BY ts=bucket(@timestamp, 1 minute), cluster
635+ METRICS hosts
636+ | STATS sum(rate(request_count)), max(cpu) BY ts=bucket(@timestamp, 1 minute), cluster
627637 | SORT ts, cluster
628638 | LIMIT 5""" )) {
629639 assertThat (
@@ -660,7 +670,8 @@ METRICS hosts sum(rate(request_count)), max(cpu) BY ts=bucket(@timestamp, 1 minu
660670 }
661671 }
662672 try (var resp = run ("""
663- METRICS hosts sum(rate(request_count)), avg(cpu) BY ts=bucket(@timestamp, 1 minute), cluster
673+ METRICS hosts
674+ | STATS sum(rate(request_count)), avg(cpu) BY ts=bucket(@timestamp, 1 minute), cluster
664675 | SORT ts, cluster
665676 | LIMIT 5""" )) {
666677 assertThat (
@@ -715,21 +726,21 @@ record RateKey(String cluster, String host) {
715726 rates .add (v );
716727 }
717728 }
718- try (var resp = run ("METRICS hosts sum(abs(rate(request_count, 1second)))" )) {
729+ try (var resp = run ("METRICS hosts | STATS sum(abs(rate(request_count, 1second)))" )) {
719730 assertThat (resp .columns (), equalTo (List .of (new ColumnInfoImpl ("sum(abs(rate(request_count, 1second)))" , "double" ))));
720731 List <List <Object >> values = EsqlTestUtils .getValuesList (resp );
721732 assertThat (values , hasSize (1 ));
722733 assertThat (values .get (0 ), hasSize (1 ));
723734 assertThat ((double ) values .get (0 ).get (0 ), closeTo (rates .stream ().mapToDouble (d -> d ).sum (), 0.1 ));
724735 }
725- try (var resp = run ("METRICS hosts sum(10.0 * rate(request_count, 1second))" )) {
736+ try (var resp = run ("METRICS hosts | STATS sum(10.0 * rate(request_count, 1second))" )) {
726737 assertThat (resp .columns (), equalTo (List .of (new ColumnInfoImpl ("sum(10.0 * rate(request_count, 1second))" , "double" ))));
727738 List <List <Object >> values = EsqlTestUtils .getValuesList (resp );
728739 assertThat (values , hasSize (1 ));
729740 assertThat (values .get (0 ), hasSize (1 ));
730741 assertThat ((double ) values .get (0 ).get (0 ), closeTo (rates .stream ().mapToDouble (d -> d * 10.0 ).sum (), 0.1 ));
731742 }
732- try (var resp = run ("METRICS hosts sum(20 * rate(request_count, 1second) + 10 * floor(rate(request_count, 1second)))" )) {
743+ try (var resp = run ("METRICS hosts | STATS sum(20 * rate(request_count, 1second) + 10 * floor(rate(request_count, 1second)))" )) {
733744 assertThat (
734745 resp .columns (),
735746 equalTo (
0 commit comments