1919import org .elasticsearch .xpack .esql .qa .rest .generative .command .pipe .KeepGenerator ;
2020import org .elasticsearch .xpack .esql .qa .rest .generative .command .pipe .LimitGenerator ;
2121import org .elasticsearch .xpack .esql .qa .rest .generative .command .pipe .LookupJoinGenerator ;
22- import org .elasticsearch .xpack .esql .qa .rest .generative .command .pipe .MetricsStatsGenerator ;
22+ import org .elasticsearch .xpack .esql .qa .rest .generative .command .pipe .TimeSeriesStatsGenerator ;
2323import org .elasticsearch .xpack .esql .qa .rest .generative .command .pipe .MvExpandGenerator ;
2424import org .elasticsearch .xpack .esql .qa .rest .generative .command .pipe .RenameGenerator ;
2525import org .elasticsearch .xpack .esql .qa .rest .generative .command .pipe .SortGenerator ;
2626import org .elasticsearch .xpack .esql .qa .rest .generative .command .pipe .StatsGenerator ;
2727import org .elasticsearch .xpack .esql .qa .rest .generative .command .pipe .WhereGenerator ;
2828import org .elasticsearch .xpack .esql .qa .rest .generative .command .source .FromGenerator ;
29- import org .elasticsearch .xpack .esql .qa .rest .generative .command .source .MetricGenerator ;
29+ import org .elasticsearch .xpack .esql .qa .rest .generative .command .source .TimeSeriesGenerator ;
3030
3131import java .util .List ;
3232import java .util .Set ;
@@ -56,7 +56,7 @@ public record QueryExecuted(String query, int depth, List<Column> outputSchema,
5656 /**
5757 * Commands at the beginning of queries that begin queries on time series indices, eg. TS
5858 */
59- static List <CommandGenerator > TIME_SERIES_SOURCE_COMMANDS = List .of (MetricGenerator .INSTANCE );
59+ static List <CommandGenerator > TIME_SERIES_SOURCE_COMMANDS = List .of (TimeSeriesGenerator .INSTANCE );
6060
6161 /**
6262 * These are downstream commands, ie. that cannot appear as the first command in a query
@@ -90,7 +90,7 @@ public record QueryExecuted(String query, int depth, List<Column> outputSchema,
9090 KeepGenerator .INSTANCE ,
9191 LimitGenerator .INSTANCE ,
9292 LookupJoinGenerator .INSTANCE ,
93- MetricsStatsGenerator .INSTANCE ,
93+ TimeSeriesStatsGenerator .INSTANCE ,
9494 MvExpandGenerator .INSTANCE ,
9595 RenameGenerator .INSTANCE ,
9696 SortGenerator .INSTANCE ,
@@ -262,10 +262,12 @@ public static String metricsAgg(List<Column> previousOutput) {
262262 if (numericPlusAggMetricFieldName == null ) {
263263 yield null ;
264264 }
265- yield switch ((randomIntBetween (0 , 3 ))) {
265+ yield switch ((randomIntBetween (0 , 5 ))) {
266266 case 0 -> "max_over_time(" + numericPlusAggMetricFieldName + ")" ;
267267 case 1 -> "min_over_time(" + numericPlusAggMetricFieldName + ")" ;
268268 case 2 -> "sum_over_time(" + numericPlusAggMetricFieldName + ")" ;
269+ case 3 -> "present_over_time(" + numericPlusAggMetricFieldName + ")" ;
270+ case 4 -> "count_over_time(" + numericPlusAggMetricFieldName + ")" ;
269271 default -> "avg_over_time(" + numericPlusAggMetricFieldName + ")" ;
270272 };
271273 }
@@ -279,7 +281,8 @@ yield switch ((randomIntBetween(0, 3))) {
279281 }
280282 case 2 -> {
281283 // numerics except aggregate_metric_double
282- // TODO: move to case 0 when support for aggregate_metric_double is added to these functions
284+ // TODO: add to case 0 when support for aggregate_metric_double is added to these functions
285+ // TODO: add to case 1 when support for counters is added
283286 String numericFieldName = randomNumericField (previousOutput );
284287 if (numericFieldName == null ) {
285288 yield null ;
0 commit comments