Hazelcast Debug CLI.
Prep. work for ONOS-1767
Wrapping HZ bundled TestApp CLI, to use ONOS hazelcast.xml
Could be used for simple performance measurements.
Example: measure Throughput from 5000 increments)
hazelcast[default] > #5000 a.inc
...
ops/s = 1238
Change-Id: Ia728b339bf569cd521061d1f119143ea287207be
diff --git a/src/main/java/net/onrc/onos/core/datagrid/HazelcastCLI.java b/src/main/java/net/onrc/onos/core/datagrid/HazelcastCLI.java
new file mode 100644
index 0000000..1ed4d75
--- /dev/null
+++ b/src/main/java/net/onrc/onos/core/datagrid/HazelcastCLI.java
@@ -0,0 +1,45 @@
+package net.onrc.onos.core.datagrid;
+
+import com.hazelcast.config.Config;
+import com.hazelcast.config.ExecutorConfig;
+import com.hazelcast.core.Hazelcast;
+import com.hazelcast.core.HazelcastInstance;
+import com.hazelcast.examples.TestApp;
+
+/**
+ * Hazelcast CLI.
+ */
+public class HazelcastCLI extends TestApp {
+
+ private static final int LOAD_EXECUTORS_COUNT = 16;
+
+ /**
+ * hazelcast CLI.
+ *
+ * @param hazelcast Hazelcast instance.
+ */
+ public HazelcastCLI(HazelcastInstance hazelcast) {
+ super(hazelcast);
+ }
+
+ /**
+ * {@link TestApp} modified to read conf/hazelcast.xml.
+ *
+ * @param args none expected
+ * @throws Exception exception
+ */
+ public static void main(String[] args) throws Exception {
+ final String configFilename = System.getProperty(
+ "net.onrc.onos.core.datagrid.HazelcastDatagrid.datagridConfig",
+ "conf/hazelcast.xml");
+ Config config = HazelcastDatagrid.loadHazelcastConfig(configFilename);
+
+ for (int k = 1; k <= LOAD_EXECUTORS_COUNT; k++) {
+ config.addExecutorConfig(new ExecutorConfig("e" + k).setPoolSize(k));
+ }
+
+ HazelcastCLI cli = new HazelcastCLI(Hazelcast.newHazelcastInstance(config));
+ cli.start(args);
+ }
+
+}