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;
}