public static void main()

in grpc-gcp-benchmarks/src/benchmarkTest/java/SpannerBenchmark.java [86:128]


  public static void main(String[] args) throws Exception {
    int[] vars = parseArgs(args);
    logger.info(
        String.format(
            "Start Benchmark..\n"
                + "Number of Rpcs: %d\n"
                + "Number of thhreads:%d\n"
                + "Payload bytes:%d\n"
                + "GcpManagedChannel:%b\n"
                + "Use Spanner Client API:%b",
            vars[0], vars[1], vars[2], vars[3] == 1, vars[4] == 1));
    if (vars[4] == 2) {
      // Use the client: import com.google.cloud.spanner.DatabaseClient.
      SpannerClientTestCases testCases =
          new SpannerClientTestCases(vars[3] == 1, vars[2], vars[0], vars[1]);
      testCases.prepareTestData();
      testCases.testUpdateData();
      testCases.testRead();
    } else if (vars[4] == 1) {
      // Use the client generated by gapic: com.google.cloud.spanner.v1.SpannerClient.
      SpannerClientV1TestCases testCases =
          new SpannerClientV1TestCases(vars[3] == 1, vars[2], vars[0], vars[1]);
      testCases.prepareTestData();
      testCases.testListSessions();
      testCases.testExecuteSql();
      testCases.testPartitionQuery();
      testCases.testRead();
      testCases.testMaxConcurrentStream();
    } else {
      // Use the naive implementation of SpannerGrpc stub.
      SpannerTestCases testCases = new SpannerTestCases(vars[3] == 1, vars[2], vars[0], vars[1]);
      testCases.prepareTestData();
      testCases.testListSessions();
      testCases.testListSessionsAsync();
      testCases.testExecuteSql();
      testCases.testExecuteSqlAsync();
      testCases.testPartitionQuery();
      testCases.testPartitionQueryAsync();
      testCases.testRead();
      testCases.testReadAsync();
      testCases.testMaxConcurrentStream();
    }
  }