public Result fetchQueueAndRunTime()

in src/main/java/org/opensearch/performanceanalyzer/reader/MasterEventMetricsSnapshot.java [233:396]


    public Result<Record> fetchQueueAndRunTime() {

        List<SelectField<?>> fields =
                new ArrayList<SelectField<?>>() {
                    {
                        this.add(
                                DSL.field(
                                        DSL.name(
                                                AllMetrics.MasterMetricDimensions
                                                        .MASTER_TASK_INSERT_ORDER
                                                        .toString()),
                                        String.class));
                        this.add(
                                DSL.field(
                                        DSL.name(
                                                AllMetrics.MasterMetricDimensions
                                                        .MASTER_TASK_PRIORITY
                                                        .toString()),
                                        String.class));
                        this.add(
                                DSL.field(
                                        DSL.name(
                                                AllMetrics.MasterMetricDimensions.MASTER_TASK_TYPE
                                                        .toString()),
                                        String.class));
                        this.add(
                                DSL.field(
                                        DSL.name(
                                                AllMetrics.MasterMetricDimensions
                                                        .MASTER_TASK_METADATA
                                                        .toString()),
                                        String.class));

                        this.add(
                                DSL.sum(
                                                DSL.field(
                                                        DSL.name(
                                                                AllMetrics.MasterMetricDimensions
                                                                        .MASTER_TASK_QUEUE_TIME
                                                                        .toString()),
                                                        Double.class))
                                        .as(
                                                DBUtils.getAggFieldName(
                                                        AllMetrics.MasterMetricDimensions
                                                                .MASTER_TASK_QUEUE_TIME
                                                                .toString(),
                                                        MetricsDB.SUM)));
                        this.add(
                                DSL.avg(
                                                DSL.field(
                                                        DSL.name(
                                                                AllMetrics.MasterMetricDimensions
                                                                        .MASTER_TASK_QUEUE_TIME
                                                                        .toString()),
                                                        Double.class))
                                        .as(
                                                DBUtils.getAggFieldName(
                                                        AllMetrics.MasterMetricDimensions
                                                                .MASTER_TASK_QUEUE_TIME
                                                                .toString(),
                                                        MetricsDB.AVG)));
                        this.add(
                                DSL.min(
                                                DSL.field(
                                                        DSL.name(
                                                                AllMetrics.MasterMetricDimensions
                                                                        .MASTER_TASK_QUEUE_TIME
                                                                        .toString()),
                                                        Double.class))
                                        .as(
                                                DBUtils.getAggFieldName(
                                                        AllMetrics.MasterMetricDimensions
                                                                .MASTER_TASK_QUEUE_TIME
                                                                .toString(),
                                                        MetricsDB.MIN)));
                        this.add(
                                DSL.max(
                                                DSL.field(
                                                        DSL.name(
                                                                AllMetrics.MasterMetricDimensions
                                                                        .MASTER_TASK_QUEUE_TIME
                                                                        .toString()),
                                                        Double.class))
                                        .as(
                                                DBUtils.getAggFieldName(
                                                        AllMetrics.MasterMetricDimensions
                                                                .MASTER_TASK_QUEUE_TIME
                                                                .toString(),
                                                        MetricsDB.MAX)));

                        this.add(
                                DSL.sum(
                                                DSL.field(
                                                        DSL.name(
                                                                AllMetrics.MasterMetricDimensions
                                                                        .MASTER_TASK_RUN_TIME
                                                                        .toString()),
                                                        Double.class))
                                        .as(
                                                DBUtils.getAggFieldName(
                                                        AllMetrics.MasterMetricDimensions
                                                                .MASTER_TASK_RUN_TIME
                                                                .toString(),
                                                        MetricsDB.SUM)));
                        this.add(
                                DSL.avg(
                                                DSL.field(
                                                        DSL.name(
                                                                AllMetrics.MasterMetricDimensions
                                                                        .MASTER_TASK_RUN_TIME
                                                                        .toString()),
                                                        Double.class))
                                        .as(
                                                DBUtils.getAggFieldName(
                                                        AllMetrics.MasterMetricDimensions
                                                                .MASTER_TASK_RUN_TIME
                                                                .toString(),
                                                        MetricsDB.AVG)));
                        this.add(
                                DSL.min(
                                                DSL.field(
                                                        DSL.name(
                                                                AllMetrics.MasterMetricDimensions
                                                                        .MASTER_TASK_RUN_TIME
                                                                        .toString()),
                                                        Double.class))
                                        .as(
                                                DBUtils.getAggFieldName(
                                                        AllMetrics.MasterMetricDimensions
                                                                .MASTER_TASK_RUN_TIME
                                                                .toString(),
                                                        MetricsDB.MIN)));
                        this.add(
                                DSL.max(
                                                DSL.field(
                                                        DSL.name(
                                                                AllMetrics.MasterMetricDimensions
                                                                        .MASTER_TASK_RUN_TIME
                                                                        .toString()),
                                                        Double.class))
                                        .as(
                                                DBUtils.getAggFieldName(
                                                        AllMetrics.MasterMetricDimensions
                                                                .MASTER_TASK_RUN_TIME
                                                                .toString(),
                                                        MetricsDB.MAX)));
                    }
                };

        ArrayList<Field<?>> groupByFields =
                new ArrayList<Field<?>>() {
                    {
                        this.add(
                                DSL.field(
                                        DSL.name(
                                                AllMetrics.MasterMetricDimensions
                                                        .MASTER_TASK_INSERT_ORDER
                                                        .toString()),
                                        String.class));
                    }
                };

        return create.select(fields).from(fetchRunTimeHelper()).groupBy(groupByFields).fetch();
    }