in benchmark-java/src/main/java/org/apache/pekko/grpc/benchmarks/driver/LoadWorker.java [86:135]
public static void main(String[] args) throws Exception {
boolean usage = false;
int serverPort = 0;
int driverPort = 0;
for (String arg : args) {
if (!arg.startsWith("--")) {
System.err.println("All arguments must start with '--': " + arg);
usage = true;
break;
}
String[] parts = arg.substring(2).split("=", 2);
String key = parts[0];
if ("help".equals(key)) {
usage = true;
break;
}
if (parts.length != 2) {
System.err.println("All arguments must be of the form --arg=value");
usage = true;
break;
}
String value = parts[1];
if ("server_port".equals(key)) {
serverPort = Integer.parseInt(value);
} else if ("driver_port".equals(key)) {
driverPort = Integer.parseInt(value);
} else {
System.err.println("Unknown argument: " + key);
usage = true;
break;
}
}
if (usage || driverPort == 0) {
System.err.println(
"Usage: [ARGS...]"
+ "\n"
+ "\n --driver_port=<port>"
+ "\n Port to expose grpc.testing.WorkerService, used by driver to initiate work."
+ "\n --server_port=<port>"
+ "\n Port to start load servers on. Defaults to any available port");
System.exit(1);
}
// important to enable HTTP/2 in ActorSystem's config
Config conf = ConfigFactory.parseString("pekko.http.server.preview.enable-http2 = on")
.withFallback(ConfigFactory.defaultApplication());
ActorSystem system = ActorSystem.create("LoadWorker", conf);
new LoadWorker(system, driverPort, serverPort).start();
}