@@ -219,24 +219,22 @@ record RateKey(String cluster, String host) {
219219 assertThat ((double ) values .get (0 ).get (0 ), closeTo (rates .stream ().mapToDouble (d -> d ).max ().orElse (0.0 ), 0.1 ));
220220 assertThat ((double ) values .get (0 ).get (1 ), closeTo (rates .stream ().mapToDouble (d -> d ).min ().orElse (0.0 ), 0.1 ));
221221 }
222- try (var resp = run ("TS hosts | STATS max(rate(request_count)), avg(rate(request_count)), max(60 * rate(request_count)) " )) {
222+ try (var resp = run ("TS hosts | STATS max(rate(request_count)), avg(rate(request_count))" )) {
223223 assertThat (
224224 resp .columns (),
225225 equalTo (
226226 List .of (
227227 new ColumnInfoImpl ("max(rate(request_count))" , "double" , null ),
228- new ColumnInfoImpl ("avg(rate(request_count))" , "double" , null ),
229- new ColumnInfoImpl ("max(60 * rate(request_count))" , "double" , null )
228+ new ColumnInfoImpl ("avg(rate(request_count))" , "double" , null )
230229 )
231230 )
232231 );
233232 List <List <Object >> values = EsqlTestUtils .getValuesList (resp );
234233 assertThat (values , hasSize (1 ));
235- assertThat (values .get (0 ), hasSize (3 ));
234+ assertThat (values .get (0 ), hasSize (2 ));
236235 assertThat ((double ) values .get (0 ).get (0 ), closeTo (rates .stream ().mapToDouble (d -> d ).max ().orElse (0.0 ), 0.1 ));
237236 final double avg = rates .isEmpty () ? 0.0 : rates .stream ().mapToDouble (d -> d ).sum () / rates .size ();
238237 assertThat ((double ) values .get (0 ).get (1 ), closeTo (avg , 0.1 ));
239- assertThat ((double ) values .get (0 ).get (2 ), closeTo (rates .stream ().mapToDouble (d -> d * 60.0 ).max ().orElse (0.0 ), 0.1 ));
240238 }
241239 try (var resp = run ("TS hosts | STATS max(rate(request_count)), min(rate(request_count)), min(cpu), max(cpu)" )) {
242240 assertThat (
@@ -318,35 +316,6 @@ record RateKey(String cluster, String host) {
318316 }
319317 }
320318 }
321- try (var resp = run ("TS hosts | STATS avg(60 * rate(request_count)), avg(rate(request_count)) BY cluster | SORT cluster" )) {
322- assertThat (
323- resp .columns (),
324- equalTo (
325- List .of (
326- new ColumnInfoImpl ("avg(60 * rate(request_count))" , "double" , null ),
327- new ColumnInfoImpl ("avg(rate(request_count))" , "double" , null ),
328- new ColumnInfoImpl ("cluster" , "keyword" , null )
329- )
330- )
331- );
332- List <List <Object >> values = EsqlTestUtils .getValuesList (resp );
333- assertThat (values , hasSize (bucketToRates .size ()));
334- for (int i = 0 ; i < bucketToRates .size (); i ++) {
335- List <Object > row = values .get (i );
336- assertThat (row , hasSize (3 ));
337- String key = sortedKeys .get (i );
338- assertThat (row .get (2 ), equalTo (key ));
339- List <Double > rates = bucketToRates .get (key );
340- if (rates .isEmpty ()) {
341- assertThat (row .get (0 ), equalTo (0.0 ));
342- assertThat (row .get (1 ), equalTo (0.0 ));
343- } else {
344- double avg = rates .stream ().mapToDouble (d -> d ).sum () / rates .size ();
345- assertThat ((double ) row .get (0 ), closeTo (avg * 60.0f , 0.1 ));
346- assertThat ((double ) row .get (1 ), closeTo (avg , 0.1 ));
347- }
348- }
349- }
350319 }
351320
352321 @ AwaitsFix (bugUrl = "removed?" )
@@ -410,15 +379,15 @@ record RateKey(String host, String cluster, long interval) {}
410379 }
411380 try (var resp = run ("""
412381 TS hosts
413- | STATS avg(60 * rate(request_count)), avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute)
382+ | STATS avg(rate(request_count)), avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute)
414383 | SORT ts
415384 | LIMIT 5
416385 """ )) {
417386 assertThat (
418387 resp .columns (),
419388 equalTo (
420389 List .of (
421- new ColumnInfoImpl ("avg(60 * rate(request_count))" , "double" , null ),
390+ new ColumnInfoImpl ("avg(rate(request_count))" , "double" , null ),
422391 new ColumnInfoImpl ("avg(rate(request_count))" , "double" , null ),
423392 new ColumnInfoImpl ("ts" , "date" , null )
424393 )
@@ -437,7 +406,7 @@ record RateKey(String host, String cluster, long interval) {}
437406 assertNull (row .get (1 ));
438407 } else {
439408 double avg = bucketValues .stream ().mapToDouble (d -> d ).sum () / bucketValues .size ();
440- assertThat ((double ) row .get (0 ), closeTo (avg * 60.0f , 0.1 ));
409+ assertThat ((double ) row .get (0 ), closeTo (avg , 0.1 ));
441410 assertThat ((double ) row .get (1 ), closeTo (avg , 0.1 ));
442411 }
443412 }
@@ -536,41 +505,7 @@ record GroupKey(String cluster, long interval) {}
536505 }
537506 }
538507 }
539- try (var resp = run ("""
540- TS hosts
541- | STATS avg(60 * rate(request_count)), avg(rate(request_count)) BY ts=bucket(@timestamp, 1minute), cluster
542- | SORT ts, cluster
543- | LIMIT 5""" )) {
544- assertThat (
545- resp .columns (),
546- equalTo (
547- List .of (
548- new ColumnInfoImpl ("avg(60 * rate(request_count))" , "double" , null ),
549- new ColumnInfoImpl ("avg(rate(request_count))" , "double" , null ),
550- new ColumnInfoImpl ("ts" , "date" , null ),
551- new ColumnInfoImpl ("cluster" , "keyword" , null )
552- )
553- )
554- );
555- List <List <Object >> values = EsqlTestUtils .getValuesList (resp );
556- assertThat (values , hasSize (sortedKeys .size ()));
557- for (int i = 0 ; i < sortedKeys .size (); i ++) {
558- List <Object > row = values .get (i );
559- assertThat (row , hasSize (4 ));
560- var key = sortedKeys .get (i );
561- assertThat (row .get (2 ), equalTo (DEFAULT_DATE_TIME_FORMATTER .formatMillis (key .interval )));
562- assertThat (row .get (3 ), equalTo (key .cluster ));
563- List <Double > bucketValues = rateBuckets .get (key );
564- if (bucketValues .isEmpty ()) {
565- assertNull (row .get (0 ));
566- assertNull (row .get (1 ));
567- } else {
568- double avg = bucketValues .stream ().mapToDouble (d -> d ).sum () / bucketValues .size ();
569- assertThat ((double ) row .get (0 ), closeTo (avg * 60.0f , 0.1 ));
570- assertThat ((double ) row .get (1 ), closeTo (avg , 0.1 ));
571- }
572- }
573- }
508+
574509 try (var resp = run ("""
575510 TS hosts
576511 | STATS
0 commit comments