Skip to content

Commit

Permalink
Updated README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
levb committed Feb 12, 2024
1 parent bed0134 commit 5c147d6
Showing 1 changed file with 50 additions and 33 deletions.
83 changes: 50 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,64 +7,81 @@ Outputs JSON results that can be reported in a `go test --bench` wrapper.
##### Subcommands and common flags

```sh
mqtt-test [pub|pubsub|subret] [flags...]
mqtt-test [pub|sub|pubsub|subret] [flags...]
```

Available Commands:
- [pub](#pub) - Publish N messages
- [pubsub](#pubsub) - Subscribe and receive N published messages
- [subret](#subret) - Subscribe N times, and receive NTopics retained messages
Common Flags:
- [pub](#pub) - Publish MQTT messages.
- [sub](#sub) - Subscribe, receive all messages, unsubscribe, {repeat} times.
- [pubsub](#pubsub) - Subscribe and receive published messages.
- [subret](#subret) - Publish {topics} retained messages, subscribe {repeat} times, and receive all retained messages.

Common flags:
```
-h, --help help for mqtt-test
--id string MQTT client ID
-n, --n int Number of transactions to run, see the specific command (default 1)
-p, --password string MQTT client password (empty if auth disabled)
-q, --quiet Quiet mode, only print results
-s, --servers stringArray MQTT servers endpoint as host:port (default [tcp://localhost:1883])
-u, --username string MQTT client username (empty if auth disabled)
--version version for mqtt-test
-v, --very-verbose Very verbose, print everything we can
-h, --help help for mqtt-test
--id string MQTT client ID (default "mqtt-test-bssJjZUs1vhTvf6KpTpTLw")
-q, --quiet Quiet mode, only print results
-s, --server stringArray MQTT endpoint as username:password@host:port (default [tcp://localhost:1883])
--version version for mqtt-test
-v, --very-verbose Very verbose, print everything we can
```

##### pub

Publishes N messages using the flags and reports the results. Used with `--num-publishers` can run several concurrent publish connections.
Publishes messages using the flags and reports the results. Used with `--publishers` can run several concurrent publish connections.

Flags:

```
--messages int Number of transactions to run, see the specific command (default 1)
--mps int Publish mps messages per second; 0 means no delay (default 1000)
--publishers int Number of publishers to run concurrently, at --mps each (default 1)
--qos int MQTT QOS
--retain Mark each published message as retained
--size int Approximate size of each message (pub adds a timestamp)
--timestamp Prepend a timestamp to each message
--topic string Base topic (prefix) to publish into (/{n} will be added if --topics > 0) (default "mqtt-test/fIqfOq5Lg5wk636V4sLXoc")
--topics int Cycle through NTopics appending "/{n}"
```

##### sub

Subscribe, receive all expected messages, unsubscribe, {repeat} times.

Flags:

```
--mps int Publish mps messages per second; 0 means no delay (default 1000)
--num-publishers int Number of publishers to run concurrently, at --mps each (default 1)
--num-topics int Cycle through NTopics appending "-{n}" where n starts with --num-topics-start; 0 means use --topic
--num-topics-start int Start topic suffixes with this number (default 0)
--qos int MQTT QOS
--retain Mark each published message as retained
--size int Approximate size of each message (pub adds a timestamp)
--topic string MQTT topic
--messages int Expect to receive this many published messages
--qos int MQTT QOS
--repeat int Subscribe, receive retained messages, and unsubscribe N times (default 1)
--retained int Expect to receive this many retained messages
--subscribers int Number of subscribers to run concurrently (default 1)
--topic string Base topic for the test, will subscribe to {topic}/+
```

##### pubsub

Publishes N messages, and waits for all of them to be received by subscribers. Measures end-end delivery time on the messages. Used with `--num-subscribers` can run several concurrent subscriber connections.

```
--mps int Publish mps messages per second; 0 means all ASAP (default 1000)
--num-subscribers int Number of subscribers to run concurrently (default 1)
--qos int MQTT QOS
--size int Approximate size of each message (pub adds a timestamp)
--topic string MQTT topic
--messages int Number of messages to publish and receive (default 1)
--qos int MQTT QOS
--size int Approximate size of each message (pub adds a timestamp)
--subscribers int Number of subscribers to run concurrently (default 1)
--topic string Topic to publish and subscribe to (default "mqtt-test/JPrbNU6U3IbVQLIyazkP4y")
```

##### subret

Publishes retained messages into NTopics, then subscribes to a wildcard with all
topics N times. Measures time to SUBACK and to all retained messages received.
Used with `--num-subscribers` can run several concurrent subscriber connections.
Used with `--subscribers` can run several concurrent subscriber connections.

```
--num-subscribers int Number of subscribers to run concurrently (default 1)
--num-topics int Use this many topics with retained messages
--qos int MQTT QOS
--size int Approximate size of each message (pub adds a timestamp)
--qos int MQTT QOS
--repeat int Subscribe, receive retained messages, and unsubscribe N times (default 1)
--size int Approximate size of each message (pub adds a timestamp)
--subscribers int Number of subscribers to run concurrently (default 1)
--topic string Base topic (prefix) for the test (default "mqtt-test/yNkmAFnFHETSGnQJNjwGdN")
--topics int Number of sub-topics to publish retained messages to (default 1)
```

0 comments on commit 5c147d6

Please sign in to comment.