/** * Entry point for agent when it is started upon VM start. * * @param args agent arguments * @param inst instrumentation handle */ public static void premain(final String args, final Instrumentation inst) { logger.info("Cassandra Diagnostics starting."); diagnostics = new Diagnostics(); connector = ConnectorFactory.getImplementation(); connector.init(inst, diagnostics, diagnostics.getConfiguration().connector, diagnostics.getConfiguration().global); Thread th = new Thread(new Runnable() { @Override public void run() { connector.waitForSetupCompleted(); diagnostics.activate(); logger.info("Cassandra Diagnostics initialized."); } }); th.setName(INITIALIZATION_THREAD_NAME); th.setDaemon(true); th.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException(Thread t, Throwable e) { logger.error(e.getMessage(), e); } }); th.start(); }