Skip to content

Commit c9e3787

Browse files
authored
Merge pull request #14 from dist-sys/refactor_v0.7.0
Refactor v0.7.0
2 parents b1c08bc + 813dbd8 commit c9e3787

File tree

5 files changed

+21
-10
lines changed

5 files changed

+21
-10
lines changed

README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ Below is an execution result sample.
1010
```
1111
-----Publisher-----
1212
Maximum throughput[msg/s]: 53068
13-
Average throughput[msg/s]: 49894.57142857143
13+
Average throughput[msg/s]: 49894.57
1414
Number of published messages: 349262
15-
Throughput[msg/s]: 44460, 47558, 52569, 53068, 51041, 51583, 48983
15+
Per second throughput[msg/s]: 44460, 47558, 52569, 53068, 51041, 51583, 48983
1616
1717
-----Subscriber-----
1818
Maximum throughput[msg/s]: 53050
19-
Average throughput[msg/s]: 49891.142857142855
19+
Average throughput[msg/s]: 49891.14
2020
Number of received messages: 349238
21-
Throughput[msg/s]: 44399, 47587, 52566, 53050, 51078, 51575, 48983
21+
Per second throughput[msg/s]: 44399, 47587, 52566, 53050, 51078, 51575, 48983
2222
Maximum latency[ms]: 24
23-
Average latency[ms]: 1.3995584672916463
23+
Average latency[ms]: 1.39
2424
```
2525

2626
MQTTLoader is licensed under the Apache License, Version2.0.

doc/usage_en.md

+4
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ For example, the following command uses a public MQTT broker provided by HiveMQ.
4848

4949
`$ ./mqttloader -b tcp://broker.hivemq.com:1883 -p 1 -s 1 -m 10`
5050

51+
**By default, MQTTLoader writes out send/receive records to a file. Long term execution leads to increasing file size.**
52+
If you want MQTTLoader not to output the file, you can run it with in-memory mode.
53+
For more details, please refer to **4. How to read the results > Send/Receive record file**.
54+
5155
### Run on multiple machines
5256
You can run MQTTLoader on multiple machines.
5357

doc/usage_jp.md

+4
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ MQTTLoaderの動作を確認するだけなら、パブリックブローカを
4949

5050
`$ ./mqttloader -b tcp://broker.hivemq.com:1883 -p 1 -s 1 -m 10`
5151

52+
**MQTTLoaderは、デフォルトで送受信レコードをファイル出力します。長時間実行した場合、ファイルサイズが大きくなることがありますので、注意してください。**
53+
ファイルを出力しないインメモリモードで動かすことも可能です。
54+
詳細は **4. 測定結果の見方 > 送受信レコードファイル** を参照してください。
55+
5256
### 複数台での実行
5357
複数台のマシン上でMQTTLoaderを動かすこともできます。
5458

src/main/java/mqttloader/Loader.java

+8-4
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,12 @@ private void prepareClients() {
265265
private void startMeasurement() {
266266
// delay: Give ScheduledExecutorService time to setup scheduling.
267267
long delay = publishers.size();
268-
startTime = System.currentTimeMillis() + getOffsetFromNtpServer() + delay;
269-
startNanoTime = System.nanoTime() + delay * Constants.MILLISECOND_IN_NANO;
268+
long offset = getOffsetFromNtpServer();
269+
long currentTime = System.currentTimeMillis();
270+
long currentNanoTime = System.nanoTime();
271+
272+
startTime = currentTime + offset + delay;
273+
startNanoTime = currentNanoTime + delay * Constants.MILLISECOND_IN_NANO;
270274
lastRecvTime = startTime;
271275

272276
for(AbstractClient pub: publishers){
@@ -394,7 +398,7 @@ private void calcResult() {
394398
}
395399

396400
System.out.println("Maximum latency[ms]: "+maxLt);
397-
System.out.println("Average latency[ms]: "+aveLt);
401+
System.out.println("Average latency[ms]: "+String.format("%.2f", aveLt));
398402
}
399403

400404
private void trimTreeMap(TreeMap<Integer, ?> map, int rampup, int rampdown) {
@@ -439,7 +443,7 @@ private void printThroughput(TreeMap<Integer, Integer> throughputs, boolean forP
439443

440444
double aveTh = throughputs.size()>0 ? (double)sumMsg/throughputs.size() : 0;
441445
System.out.println("Maximum throughput[msg/s]: "+maxTh);
442-
System.out.println("Average throughput[msg/s]: "+aveTh);
446+
System.out.println("Average throughput[msg/s]: "+String.format("%.2f", aveTh));
443447
if(forPublisher){
444448
System.out.println("Number of published messages: "+sumMsg);
445449
}else{

src/main/java/mqttloader/client/AbstractPublisher.java

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525

2626
import mqttloader.Loader;
2727
import mqttloader.Record;
28-
import mqttloader.Util;
2928

3029
public abstract class AbstractPublisher extends AbstractClient implements Runnable {
3130
protected final String topic;

0 commit comments

Comments
 (0)