blob: c473735c4a3051a3e1cba66adf84b59668eaeec1 [file] [log] [blame]
package MonitorBench;
import java.security.InvalidParameterException;
import javax.naming.InvalidNameException;
public class Main
{
static String benchmarkName;
public static void main(String[] args) throws Exception
{
if (!parseCommandLine(args)) return;
BenchmarkRunner br = new BenchmarkRunner();
Benchmark bench = Benchmark.create(benchmarkName);
br.setBenchmark(bench);
br.run();
}
static boolean parseCommandLine(String[] args) throws Exception
{
if (args.length != 1)
throw new InvalidParameterException("Usage: monitor-bench {-h | --help | -l | --list | benchmark_name}");
if (args[0].startsWith("-")) {
if (args[0].equals("-h") || args[0].equals("--help")) {
System.out.println("Usage: monitor-bench {-h | --help | -l | --list | benchmark_name}");
return false;
} else if (args[0].equals("-l") || args[0].equals("--list")) {
String[] list = Benchmark.listBenchmarkNames();
for (int i = 0; i < list.length; ++i)
System.out.println(list[i]);
return false;
} else {
throw new InvalidParameterException("Unrecognized parameter: " + args[0]);
}
} else {
if (!Benchmark.isValidBenchmarkName(args[0]))
throw new InvalidNameException("Unrecognized benchmark name: " + args[0]);
benchmarkName = args[0];
}
return true; // Proceed
}
}