package com.livefyre.livecount; import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; import java.util.List; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; import com.livefyre.livecount.LoadTester.Builder; public class Main { public static void main(String[] args) throws Exception { CommandLineParser parser = new PosixParser(); CommandLine cmd = parser.parse(buildOptions(), args); List<String> hosts = new ArrayList<String>(); Builder builder = LoadTester.newbuilder(); if (cmd.hasOption("h")) { BufferedReader hostFile = new BufferedReader(new FileReader(cmd.getOptionValue("h"))); while (hostFile.ready()) { hosts.add(hostFile.readLine()); } hostFile.close(); builder.setHosts(hosts); } if (cmd.hasOption("t")) { builder.setThreads(Integer.parseInt(cmd.getOptionValue("t"))); } if (cmd.hasOption("r")) { builder.setRequests(Integer.parseInt(cmd.getOptionValue("r"))); } builder.build().start(); } private static Options buildOptions() { Options options = new Options(); options.addOption("help", false, "prints this message"); options.addOption("t", true, "number of simultaneous threads"); options.addOption("r", true, "number of requests"); options.addOption("h", true, "host file location"); return options; } }