in benchmark-java/src/main/java/org/apache/pekko/grpc/benchmarks/qps/AbstractConfigurationBuilder.java [145:174]
public final void printUsage() {
System.out.println("Usage: [ARGS...]");
int column1Width = 0;
List<Param> params = new ArrayList<Param>();
params.add(HELP);
params.addAll(getParams());
for (Param param : params) {
column1Width = max(commandLineFlag(param).length(), column1Width);
}
int column1Start = 2;
int column2Start = column1Start + column1Width + 2;
for (Param param : params) {
StringBuilder sb = new StringBuilder();
sb.append(Strings.repeat(" ", column1Start));
sb.append(commandLineFlag(param));
sb.append(Strings.repeat(" ", column2Start - sb.length()));
String message = param.getDescription();
sb.append(wordWrap(message, column2Start, 80));
if (param.isRequired()) {
sb.append(Strings.repeat(" ", column2Start));
sb.append("[Required]\n");
} else if (param.getDefaultValue() != null && !param.getDefaultValue().isEmpty()) {
sb.append(Strings.repeat(" ", column2Start));
sb.append("[Default=" + param.getDefaultValue() + "]\n");
}
System.out.println(sb);
}
System.out.println();
}