diff --git a/src/com/github/r1j0/statsd/client/StatsdClient.java b/src/com/github/r1j0/statsd/client/StatsdClient.java index 574a592..122a174 100644 --- a/src/com/github/r1j0/statsd/client/StatsdClient.java +++ b/src/com/github/r1j0/statsd/client/StatsdClient.java @@ -1,7 +1,10 @@ package com.github.r1j0.statsd.client; import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.Writer; import java.net.InetSocketAddress; +import java.net.Socket; import java.nio.ByteBuffer; import java.nio.channels.DatagramChannel; @@ -70,6 +73,23 @@ private boolean createMessage(final String key, final int value, final double un public boolean send(final String message) { + try { + Socket socket = new Socket(host, port); + Writer writer = new OutputStreamWriter(socket.getOutputStream()); + writer.write(message); + writer.flush(); + writer.close(); + socket.close(); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + + return true; + } + + + public boolean sendUdp(final String message) { final DatagramChannel channel; try { @@ -88,6 +108,8 @@ public boolean send(final String message) { log.warn("Bytes written: " + bytesWritten + " but message had: " + messageLength + " bytes."); } + log.debug("MESSAGE:" + message); + channel.close(); } catch (IOException e) { e.printStackTrace(); diff --git a/src/com/github/r1j0/statsd/client/StatsdTestClient.java b/src/com/github/r1j0/statsd/client/StatsdTestClient.java index 834b107..734e0fe 100644 --- a/src/com/github/r1j0/statsd/client/StatsdTestClient.java +++ b/src/com/github/r1j0/statsd/client/StatsdTestClient.java @@ -3,7 +3,6 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.nio.charset.Charset; -import java.util.Random; import org.apache.mina.core.future.ConnectFuture; import org.apache.mina.core.service.IoConnector; @@ -15,14 +14,19 @@ public class StatsdTestClient { - private static final String HOST = "127.0.0.1"; - private static final int PORT = 39390; + private static final String HOST = "192.168.1.21"; + private static final int PORT = 2003; public static void main(String[] args) throws IOException, InterruptedException { + StatsdClient statsdClient = new StatsdClient("192.168.1.21", 2003); + while (true) { - for (int i = 0; i < 5; i++) { - new Automatic().start(); + String message = "system.loadavg_1min 0.60 " + System.currentTimeMillis() / 1000L + "\nsystem.loadavg_5min 0.80 " + System.currentTimeMillis() / 1000L + "\nsystem.loadavg_15min 0.50 " + System.currentTimeMillis() / 1000L + "\n"; + + for (int i = 0; i < 1; i++) { + statsdClient.send(message); +// new Automatic().start(); } Thread.sleep(2000); @@ -47,7 +51,12 @@ public void run() { connector.getFilterChain().addLast("logger", new LoggingFilter()); connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8")))); - connector.setHandler(new StatsdTestClientHandler("bucket:value|type@sample RAND: " + new Random().nextInt())); + String message = "\nsystem.loadavg_1min 0.60 " + System.currentTimeMillis() / 1000L + "\nsystem.loadavg_5min 0.80 " + System.currentTimeMillis() / 1000L + "\nsystem.loadavg_15min 0.50 " + System.currentTimeMillis() / 1000L + "\n\n"; + System.out.println("MESSAGE:" + message); + connector.setHandler(new StatsdTestClientHandler(message)); + // connector.setHandler(new + // StatsdTestClientHandler("bucket:value|type@sample RAND: " + new + // Random().nextInt())); ConnectFuture future = connector.connect(new InetSocketAddress(HOST, PORT)); if (!future.isConnected()) { diff --git a/src/com/github/r1j0/statsd/example/StatsdClientExample.java b/src/com/github/r1j0/statsd/example/StatsdClientExample.java index 5365542..5d08909 100644 --- a/src/com/github/r1j0/statsd/example/StatsdClientExample.java +++ b/src/com/github/r1j0/statsd/example/StatsdClientExample.java @@ -5,7 +5,10 @@ public class StatsdClientExample { public static void main(String[] args) { - StatsdClient statsdClient = new StatsdClient("127.0.0.1", 39390); +// StatsdClient statsdClient = new StatsdClient("192.168.1.21", 2003); +// statsdClient.send("system.loadavg_1min 0.2 " + System.currentTimeMillis() / 1000L + "\n" + "system.loadavg_5min 0.7 " + System.currentTimeMillis() / 1000L + "\n"); + + StatsdClient statsdClient = new StatsdClient("192.168.1.21", 2003); statsdClient.increment("my.bucket.test", 1); statsdClient.increment("my.bucket.test", 1); statsdClient.increment("my.bucket.test", 1);