public static String queryIndexName(String tableName,
                                        long pointOfTB,
                                        Step step,
                                        boolean isRecord,
                                        boolean isSuperDataSet) {
        if (StringUtil.isBlank(tableName) || pointOfTB <= 0) {
            throw new IllegalArgumentException(
                "Arguments [tableName]: " + tableName + " can not be blank and [pointOfTB]: " + pointOfTB + " can not <= 0");
        }
        if (isRecord && isSuperDataSet) {
            return tableName + Const.LINE + compressTimeBucket(pointOfTB / 1000000, SUPER_DATASET_DAY_STEP);
        }
        switch (step) {
            case DAY:
                return tableName + Const.LINE + compressTimeBucket(pointOfTB, DAY_STEP);
            case HOUR:
                return tableName + Const.LINE + compressTimeBucket(pointOfTB / 100, DAY_STEP);
            case MINUTE:
                return tableName + Const.LINE + compressTimeBucket(pointOfTB / 10000, DAY_STEP);
            case SECOND:
                return tableName + Const.LINE + compressTimeBucket(pointOfTB / 1000000, DAY_STEP);
        }

        throw new UnexpectedException("Failed to get the index name from tableName:" + tableName + ", pointOfTB:" + pointOfTB + ", step:" + step.name());
    }
@return Concrete index name for super dataset index
oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/TimeSeriesUtils.java