package com.signalfx.metrics; import java.io.FileInputStream; import java.net.URL; import java.util.Collections; import java.util.Properties; import com.signalfx.endpoint.SignalFxEndpoint; import com.signalfx.endpoint.SignalFxReceiverEndpoint; import com.signalfx.metrics.auth.StaticAuthToken; import com.signalfx.metrics.connection.HttpDataPointProtobufReceiverFactory; import com.signalfx.metrics.errorhandler.OnSendErrorHandler; import com.signalfx.metrics.flush.AggregateMetricSender; import com.signalfx.metrics.protobuf.SignalFxProtocolBuffers; public final class SendMetrics { private SendMetrics() { } public static void main(String[] args) throws Exception { Properties prop = new Properties(); prop.load(new FileInputStream("auth.properties")); final String auth_token = prop.getProperty("auth"); final String hostUrlStr = prop.getProperty("host"); final URL hostUrl = new URL(hostUrlStr); System.out.println("Auth=" + auth_token + " .. host=" + hostUrl); SignalFxReceiverEndpoint endpoint = new SignalFxEndpoint(hostUrl.getProtocol(), hostUrl.getHost(), hostUrl.getPort()); AggregateMetricSender mf = new AggregateMetricSender("test.SendMetrics", new HttpDataPointProtobufReceiverFactory( endpoint) .setVersion(2), new StaticAuthToken(auth_token), Collections.<OnSendErrorHandler>emptyList()); int count = 0; while (true) { System.out.println("Sending data: " + System.currentTimeMillis()); Thread.sleep(25); AggregateMetricSender.Session i = mf.createSession(); try { count += 2; // i.incrementCounter("testcounter2", 1); // i.setCumulativeCounter("cumulativeCounter", count); // i.setGauge("testgauge2", System.currentTimeMillis()); i.setDatapoint( SignalFxProtocolBuffers.DataPoint.newBuilder() .setMetric("curtime") .setValue( SignalFxProtocolBuffers.Datum.newBuilder() .setIntValue(System.currentTimeMillis())) .addDimensions( SignalFxProtocolBuffers.Dimension.newBuilder() .setKey("source") .setValue("java")) .build()); } finally { i.close(); } } } }