| This plugin is a relay scalability test that creates an arbitrarily large
"mesh" of relays.
For example, this plugin can be configured to create a fully-connected
"star" network formation:
agent "Peer0" sends to "Peer1" and "Peer2"
agent "Peer1" sends to "Peer0" and "Peer2"
agent "Peer2" sends to "Peer0" and "Peer1"
Other topologies can be created, e.g. chains, rings, trees, etc. The
only requirement is that, if agent "A" lists agent "B" as a target,
then "B" must also list "A" as a target.
Each relay iteration waits until the prior iteration has completed, making
it easy to identify bottlenecks and dropped/duplicate relays. Each agent
logs
Completed all N iterations
once all maxIterations have succeeded.
Plugin parameters:
- targets=
-
Required comma-separated targets list, which supports range expressions
for easy scalability testing. For example, "Peer[0..3]" is expanded
to:
Peer0, Peer1, Peer2
Note that this agent must be listed as one of the targets, otherwise
it will not send any relays. This "self" requirement makes it easy
to enable/disable many agents using a global-replace in the configuration
file.
- verbose=true
-
Enable verbose SHOUT logging.
- bloatSize=-1
-
Number of extra bytes to bloat each message, or -1 for no added size.
- maxIterations=-1
-
Maximum number of relay iterations, or -1 for no limit.
- delayMillis=5000
-
Added delay between iterations, in milliseconds, or -1 for for no
extra delay.
- timeoutMillis=5000
-
How long to wait into an iteration before logging a warning that
the iteration is taking a long time, or -1 for no warnings.
- exitWhenDone=false
-
Call
System.exit when all maxIterations have been
completed.
|