public static void loadStatsProvider(Configuration conf) { String className = conf.getString(STATS_PROVIDER_CLASS); loadStatsProvider(className); }
public static void main(String[] args) throws Exception { final Arguments arguments = new Arguments(); JCommander jc = new JCommander(arguments); jc.setProgramName("benchmark-worker"); try { jc.parse(args); } catch (ParameterException e) { System.err.println(e.getMessage()); jc.usage(); System.exit(-1); } if (arguments.help) { jc.usage(); System.exit(-1); } Configuration conf = new CompositeConfiguration(); conf.setProperty(Stats.STATS_PROVIDER_CLASS, PrometheusMetricsProvider.class.getName()); conf.setProperty("prometheusStatsHttpPort", arguments.statsPort); Stats.loadStatsProvider(conf); StatsProvider provider = Stats.get(); provider.start(conf); Runtime.getRuntime().addShutdownHook(new Thread( () -> provider.stop(), "benchmark-worker-shutdown-thread")); // Dump configuration variables log.info("Starting benchmark with config: {}", writer.writeValueAsString(arguments)); // Start web server Javalin app = Javalin.start(arguments.httpPort); new WorkerHandler(app, provider.getStatsLogger("benchmark")); }