Files
IM-server-new/tools_scripts/benchmark/connectionTimings.groovy
T

34 lines
1.2 KiB
Groovy

@GrabResolver(name='Paho', root='https://repo.eclipse.org/content/repositories/paho-releases/')
@Grab(group='org.eclipse.paho', module='mqtt-client', version='0.4.0')
/**
* Ths script is meant to measure the connection mean time from a client.
* It loops connecting and disconnecting to the broker.
* */
import org.eclipse.paho.client.mqttv3.MqttClient
import org.eclipse.paho.client.mqttv3.MqttMessage
import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence
String tmpDir = System.getProperty("java.io.tmpdir")
MqttDefaultFilePersistence dataStore = new MqttDefaultFilePersistence(tmpDir)
MqttClient client = new MqttClient("tcp://localhost:1883", "ReconnectingClient", dataStore)
10.times {
println "conneting.."
long start = System.currentTimeMillis()
client.connect()
long time = System.currentTimeMillis() - start
print "took ${time} ms "
MqttMessage message = new MqttMessage('Hello world!!'.bytes)
message.setQos(0)
long startPub = System.currentTimeMillis()
client.getTopic("log").publish(message)
long pubTime = System.currentTimeMillis() - startPub
print " pub (qos 0): ${pubTime} ms "
client.disconnect()
println "disconnected"
}
println "Finished"