private static Parameters parseArguments()

in modules/performance-statistics-ext/src/main/java/org/apache/ignite/internal/performancestatistics/PerformanceStatisticsPrinter.java [72:131]


    private static Parameters parseArguments(String[] args) {
        if (args == null || args.length == 0 || "--help".equalsIgnoreCase(args[0]) || "-h".equalsIgnoreCase(args[0]))
            printHelp();

        Parameters params = new Parameters();

        Iterator<String> iter = Arrays.asList(args).iterator();

        params.statFileOrDir = iter.next();

        while (iter.hasNext()) {
            String arg = iter.next();

            if ("--out".equalsIgnoreCase(arg)) {
                A.ensure(iter.hasNext(), "Expected output file name");

                params.outFile = iter.next();
            }
            else if ("--ops".equalsIgnoreCase(arg)) {
                A.ensure(iter.hasNext(), "Expected operation types");

                String[] ops = iter.next().split(",");

                A.ensure(ops.length > 0, "Expected at least one operation");

                params.ops = new BitSet();

                for (String op : ops) {
                    OperationType opType = enumIgnoreCase(op, OperationType.class);

                    A.ensure(opType != null, "Unknown operation type [op=" + op + ']');

                    params.ops.set(opType.id());
                }
            }
            else if ("--from".equalsIgnoreCase(arg)) {
                A.ensure(iter.hasNext(), "Expected time from");

                params.from = Long.parseLong(iter.next());
            }
            else if ("--to".equalsIgnoreCase(arg)) {
                A.ensure(iter.hasNext(), "Expected time to");

                params.to = Long.parseLong(iter.next());
            }
            else if ("--caches".equalsIgnoreCase(arg)) {
                A.ensure(iter.hasNext(), "Expected cache names");

                String[] caches = iter.next().split(",");

                A.ensure(caches.length > 0, "Expected at least one cache name");

                params.cacheIds = Arrays.stream(caches).map(CU::cacheId).collect(Collectors.toSet());
            }
            else
                throw new IllegalArgumentException("Unknown command: " + arg);
        }

        return params;
    }