in httpcore5-testing/src/main/java/org/apache/hc/core5/benchmark/CommandLineUtils.java [48:141]
public static Options getOptions() {
final Option nopt = new Option("n", true, "Number of requests to perform. " +
"The default is to just perform a single request which may lead " +
"to non-representative benchmarking results");
nopt.setRequired(false);
nopt.setArgName("requests");
final Option copt = new Option("c", true, "Number of multiple requests to make at a time. " +
"The default is to just execute a single request");
copt.setRequired(false);
copt.setArgName("concurrency");
final Option topt = new Option("t", true, "Seconds to max. to spend on benchmarking");
topt.setRequired(false);
topt.setArgName("time-limit");
final Option sopt = new Option("s", true, "Seconds to max. wait for each response. Default is 60 seconds");
sopt.setRequired(false);
sopt.setArgName("socket-Timeout");
final Option popt = new Option("p", true, "File containing data to enclose in the request");
popt.setRequired(false);
popt.setArgName("Payload file");
final Option Topt = new Option("T", true, "Content-type header to use for enclosed request data");
Topt.setRequired(false);
Topt.setArgName("content-type");
final Option vopt = new Option("v", true, "Set verbosity level: " +
"1 prints warnings and errors, " +
"2 prints response codes, " +
"3 prints message headers, " +
"4 prints HTTP/2 frame info, " +
"5 prints HTTP/2 flow control events, " +
"6 prints response content");
vopt.setRequired(false);
vopt.setArgName("verbosity");
final Option iopt = new Option("i", false, "Use HEAD instead of GET");
iopt.setRequired(false);
final Option Hopt = new Option("H", true, "Add arbitrary header line, " +
"eg. 'Accept-Encoding: gzip' inserted after all normal " +
"header lines. (repeatable as -H \"h1: v1\",\"h2: v2\" etc)");
Hopt.setRequired(false);
Hopt.setArgName("header");
final Option kopt = new Option("k", false, "Use HTTP KeepAlive feature. Default is no KeepAlive");
kopt.setRequired(false);
final Option mopt = new Option("m", true, "HTTP Method. Default is GET or POST if the request to enclose data");
mopt.setRequired(false);
mopt.setArgName("HTTP method");
// HttpCore specific options
final Option uopt = new Option("u", false, "Chunk entity. Default is false");
uopt.setRequired(false);
final Option xopt = new Option("x", false, "Use Expect-Continue. Default is false");
xopt.setRequired(false);
final Option gopt = new Option("g", false, "Accept GZip. Default is false");
gopt.setRequired(false);
final Option http2opt = new Option("2", false, "Force HTTP/2");
gopt.setRequired(false);
final Option hopt = new Option("h", false, "Display usage information");
nopt.setRequired(false);
final Options options = new Options();
options.addOption(nopt);
options.addOption(copt);
options.addOption(topt);
options.addOption(sopt);
options.addOption(popt);
options.addOption(Topt);
options.addOption(vopt);
options.addOption(iopt);
options.addOption(Hopt);
options.addOption(kopt);
options.addOption(mopt);
// HttpCore specific options
options.addOption(uopt);
options.addOption(xopt);
options.addOption(gopt);
options.addOption(http2opt);
options.addOption(hopt);
return options;
}