summaryrefslogtreecommitdiffstats
path: root/messagebus/test/src/tests/speed/JavaClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'messagebus/test/src/tests/speed/JavaClient.java')
-rw-r--r--messagebus/test/src/tests/speed/JavaClient.java137
1 files changed, 0 insertions, 137 deletions
diff --git a/messagebus/test/src/tests/speed/JavaClient.java b/messagebus/test/src/tests/speed/JavaClient.java
deleted file mode 100644
index b905ab07e91..00000000000
--- a/messagebus/test/src/tests/speed/JavaClient.java
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-import com.yahoo.messagebus.*;
-import com.yahoo.messagebus.test.*;
-import com.yahoo.config.*;
-import com.yahoo.messagebus.routing.*;
-import com.yahoo.messagebus.network.*;
-import com.yahoo.messagebus.network.rpc.*;
-import java.util.Arrays;
-import java.util.logging.*;
-
-public class JavaClient implements ReplyHandler {
-
- private static Logger log = Logger.getLogger(JavaClient.class.getName());
-
- private static class Counts {
- public int okCnt = 0;
- public int failCnt = 0;
- Counts() {}
- Counts(int okCnt, int failCnt) {
- this.okCnt = okCnt;
- this.failCnt = failCnt;
- }
- }
-
- private SourceSession session;
- private Counts counts = new Counts();
- private static long mySeq = 100000;
-
- public JavaClient(RPCMessageBus mb) {
- session = mb.getMessageBus().createSourceSession(this, new SourceSessionParams().setTimeout(30));
- }
-
- public synchronized Counts sample() {
- return new Counts(counts.okCnt, counts.failCnt);
- }
-
- public void send() {
- send(++mySeq);
- }
-
- public void send(long seq) {
- session.send(new MyMessage(seq), "test");
- }
-
- public void handleReply(Reply reply) {
- if ((reply.getProtocol() == SimpleProtocol.NAME)
- && (reply.getType() == SimpleProtocol.REPLY)
- && (((SimpleReply)reply).getValue().equals("OK")))
- {
- synchronized (this) {
- counts.okCnt++;
- }
- } else {
- synchronized (this) {
- counts.failCnt++;
- }
- }
- try {
- send();
- } catch (IllegalStateException ignore) {} // handle paranoia for shutdown source sessions
- }
-
- public void shutdown() {
- session.destroy();
- }
-
- public static void main(String[] args) {
- try {
- RPCMessageBus mb = new RPCMessageBus(
- new MessageBusParams()
- .setRetryPolicy(new RetryTransientErrorsPolicy().setBaseDelay(0.1))
- .addProtocol(new SimpleProtocol()),
- new RPCNetworkParams()
- .setIdentity(new Identity("server/java"))
- .setSlobrokConfigId("file:slobrok.cfg"),
- "file:routing.cfg");
- JavaClient client = new JavaClient(mb);
-
- // let the system 'warm up'
- Thread.sleep(5000);
-
- // inject messages into the feedback loop
- for (int i = 0; i < 1024; ++i) {
- client.send(i);
- }
-
- // let the system 'warm up'
- Thread.sleep(5000);
-
- long start;
- long stop;
- Counts before;
- Counts after;
-
- start = System.currentTimeMillis();
- before = client.sample();
- Thread.sleep(10000); // Benchmark time
- stop = System.currentTimeMillis();
- after = client.sample();
- stop -= start;
- double time = (double)stop;
- double msgCnt = (double)(after.okCnt - before.okCnt);
- double throughput = (msgCnt / time) * 1000.0;
- System.out.printf("JAVA-CLIENT: %g msg/s\n", throughput);
- client.shutdown();
- mb.destroy();
- if (after.failCnt > before.failCnt) {
- System.err.printf("JAVA-CLIENT: FAILED (%d -> %d)\n",
- before.failCnt, after.failCnt);
- System.exit(1);
- }
- } catch (Exception e) {
- log.log(Level.SEVERE, "JAVA-CLIENT: Failed", e);
- System.exit(1);
- }
- }
-
- private static class MyMessage extends SimpleMessage {
-
- final long seqId;
-
- MyMessage(long seqId) {
- super("message");
- this.seqId = seqId;
- }
-
- @Override
- public boolean hasSequenceId() {
- return true;
- }
-
- @Override
- public long getSequenceId() {
- return seqId;
- }
- }
-}