Releases: rabbitmq/rabbitmq-perf-test
2.1.0.M2
Changes between 2.0.0 and 2.1.0.M2
This pre-release introduces several new features and an upgrade of the Java Client. It's backward compatible with 2.0.0.
Support message properties
Message properties can now be specified on the command line with the --message-properties
option.
GitHub issue: #62
Enforce producer/consumer message and time limit
GitHub issue: #72
Reduce number of threads usage
This helps to simulate hundreds or thousands of producers and consumers with PerfTest.
GitHub issue: #70
Ensure CSV headers match statistic type
GitHub PR: #73
Upgrade to Java Client 5.1.2
GitHub issue: #69
Make TLS detection optional
This adds an option to disable TLS option detection when running the library e.g. in application server.
GitHub issue: #65
Spreads producers and consumers across multiple queues based on a queue pattern
The --queue-pattern
, --queue-pattern-from
, and --queue-pattern-to
allows creating and configuring queues and spreading producers and consumers on those queues. This allows simulating several producers and consumers (100s and more) on several queues (100s and more).
GitHub issue: #64
Use exec to run java
On Unix-based systems, the PID returned to the parent process is now the PID of the JVM, not of the shell running the script.
GitHub pull request: #68
Add --version
option
The --version
command displays information about the system (PerfTest version and Git hash, Java Client used, JVM used, etc).
GitHub issue: #60
Document --flag
and --message-properties
options
GitHub issue: #75
2.1.0.M1
Changes between 2.0.0 and 2.1.0.M1
This pre-release introduces several new features. It's backward compatible with 2.0.0.
Spreads producers and consumers across multiple queues based on a queue pattern
The --queue-pattern
, --queue-pattern-from
, and --queue-pattern-to
allows creating and configuring queues and spreading producers and consumers on those queues. This allows simulating several producers and consumers (100s and more) on several queues (100s and more).
GitHub issue: #64
Use exec to run java
On Unix-based systems, the PID returned to the parent process is now the PID of the JVM, not of the shell running the script.
GitHub pull request: #68
Add --version
option
The --version
command displays information about the system (PerfTest version and Git hash, Java Client used, JVM used, etc).
GitHub issue: #60
2.0.0
Changes between 1.4.x and 2.0.0
This major release introduces new metrics (median and percentiles) and CSV export.
Breaking changes
- The new metrics are now the default (median and percentiles), legacy metrics (min/avg/max latency) can still be used with the
l
flag. - This release uses Java Client 5.0.0 and requires Java 8 or more to run.
- This release now uses Lisp-case instead of camel-case for long arguments (e.g.
--randomRoutingKey
becomes--random-routing-key
). You can run the help command (-?
) to see the modified argument names.
Compute median and percentiles instead of min/average/max
min/avegerage/max
are not very useful metrics, whereas 9x percentiles are the industry standard for metrics these days. PerfTest
uses the Dropwizard Metrics library under the covers.
GitHub issue: #27
Use median and percentiles as default in the output
The median and percentiles are now the defaults in the console output. Use the l
flag if you absolutely need the legacy metrics (min/avegerage/max
).
GitHub issue: #32
Produce timing results in a CSV file
PerfTest
can export the median and percentiles metrics to a CSV file (option o
on the command line).
GitHub issue: #28
Use Lisp-case for arguments instead of camel-case
E.g. --randomRoutingKey
becomes --random-routing-key
. This is more common for command line tools.
GitHub issue: #51
Set minimum Java version to 8
GitHub issue: #46
Upgrade to Java Client 5.0.0
GitHub issue: #47
2.0.0.RC4
This pre-release introduces new metrics (median and percentiles) and CSV export. The new metrics are now the default, legacy metrics (min/avg/max latency) can still be used with the l
flag. This release uses Java Client 5.0.0 and requires Java 8 or more to run. Note this release now uses Lisp-case instead of camel-case for long arguments (e.g. --randomRoutingKey
becomes --random-routing-key
). You can run the help command (-?
) to see the modified argument names.
Note issue #45 (use default exchange by default) has been reverted due to a problem when using multiple consumers.
Compute median and percentiles instead of min/average/max
min/avegerage/max
are not very useful metrics, whereas 9x percentiles are the industry standard for metrics these days. PerfTest
uses the Dropwizard Metrics library under the covers.
GitHub issue: #27
Use median and percentiles as default in the output
The median and percentiles are now the defaults in the console output. Use the l
flag if you absolutely need the legacy metrics (min/avegerage/max
).
GitHub issue: #32
Produce timing results in a CSV file
PerfTest
can export the median and percentiles metrics to a CSV file (option o
on the command line).
GitHub issue: #28
Use Lisp-case for arguments instead of camel-case
E.g. --randomRoutingKey
becomes --random-routing-key
. This is more common for command line tools.
GitHub issue: #51
Set minimum Java version to 8
GitHub issue: #46
Add --use-millis
option
This allows producers and consumers to run on different machines while still providing latency output.
GitHub PR: #59
Upgrade to Java Client 5.0.0
GitHub issue: #47
1.4.2
2.0.0.RC3
This pre-release introduces new metrics (median and percentiles) and CSV export. The new metrics are now the default, legacy metrics (min/avg/max latency) can still be used with the l
flag. This release uses Java Client 5.0.0 and requires Java 8 or more to run. Note this release now uses Lisp-case instead of camel-case for long arguments (e.g. --randomRoutingKey
becomes --random-routing-key
). You can run the help command (-?
) to see the modified argument names.
Note issue #45 (use default exchange by default) has been reverted due to a problem when using multiple consumers.
Compute median and percentiles instead of min/average/max
min/avegerage/max
are not very useful metrics, whereas 9x percentiles are the industry standard for metrics these days. PerfTest
uses the Dropwizard Metrics library under the covers.
GitHub issue: #27
Use median and percentiles as default in the output
The median and percentiles are now the defaults in the console output. Use the l
flag if you absolutely need the legacy metrics (min/avegerage/max
).
GitHub issue: #32
Produce timing results in a CSV file
PerfTest
can export the median and percentiles metrics to a CSV file (option o
on the command line).
GitHub issue: #28
Use Lisp-case for arguments instead of camel-case
E.g. --randomRoutingKey
becomes --random-routing-key
. This is more common for command line tools.
GitHub issue: #51
Set minimum Java version to 8
GitHub issue: #46
Upgrade to Java Client 5.0.0
GitHub issue: #47
1.4.1
Changes between 1.4.0 and 1.4.1
This is a patch release with a bug fix and the addition of the Automatic-Module-Name
manifest entry in the JAR file.
-e
/--exchange
is ignored
The exchange flag was ignored because of a change to make it possible to specify the default exchange.
GitHub issue: #56
Add Automatic-Module-Name
manifest entry for JDK 9 module system
GitHub issue: #52
2.0.0.RC2
This pre-release introduces new metrics (median and percentiles) and CSV export. The new metrics are now the default, legacy metrics (min/avg/max latency) can still be used with the l
flag. This release uses Java Client 5.0.0 and requires Java 8 or more to run. Note this release now uses Lisp-case instead of camel-case for long arguments (e.g. --randomRoutingKey
becomes --random-routing-key
). You can run the help command (-?
) to see the modified argument names.
Compute median and percentiles instead of min/average/max
min/avegerage/max
are not very useful metrics, whereas 9x percentiles are the industry standard for metrics these days. PerfTest
uses the Dropwizard Metrics library under the covers.
GitHub issue: #27
Use median and percentiles as default in the output
The median and percentiles are now the defaults in the console output. Use the l
flag if you absolutely need the legacy metrics (min/avegerage/max
).
GitHub issue: #32
Produce timing results in a CSV file
PerfTest
can export the median and percentiles metrics to a CSV file (option o
on the command line).
GitHub issue: #28
Use Lisp-case for arguments instead of camel-case
E.g. --randomRoutingKey
becomes --random-routing-key
. This is more common for command line tools.
GitHub issue: #51
Set minimum Java version to 8
GitHub issue: #46
Upgrade to Java Client 5.0.0
GitHub issue: #47
Use default exchange by default
GitHub issue: #45
1.4.0
Changes between 1.3.0 and 1.4.0
This is a maintenance release with new features, bug fixes, and an upgrade of the Java Client.
Support TLS options on the command line
It's now possible to use TLS JVM options on the command line, e.g. to use peer authentication. See the documentation for more information.
GitHub issue: #35
Add auto-delete option for queue creation
PerfTest
used to always create auto-delete
queues. It's now possible to use -ad false
to create non-auto-delete
queues.
GitHub issue: #38
Add option to specify queue arguments
Queue argument can now be specified with the qa
option, e.g. -qa 'x-message-ttl=1000000,x-dead-letter-exchange=amq.direct,x-max-priority=10'
GitHub issue: #39
Add option to simulate consumer latency
Consumers can now simulate a processing time with the L
option, e.g. -L 5000
. The time unit is the microsecond (i.e. -L 5000
means to wait for 5 ms). Note the actual wait time is subject to the precision and accuracy of system timers and schedulers.
GitHub issue: #40
Upgrade to Java Client 4.2.2
GitHub issue: #41
Bind to pre-declared queue for publisher-only test
GitHub issue: #43
Calculate latency based on consumed message header
Display of consumer metrics was broken when specifying content of messages (-b
and -B
options).
GitHub issue: #50
2.0.0.RC1
This is pre-release for the 2.0.0 major version. It introduces new metrics (median and percentiles) and CSV export. The new metrics are now the default, legacy metrics (min/avg/max latency) can still be used with the l
flag. This pre-release uses Java Client 5.0.0 and requires Java 8 or more to run.
Compute median and percentiles instead of min/average/max
min/avegerage/max
are not very useful metrics, whereas 9x percentiles are the industry standard for metrics these days. PerfTest
uses the Dropwizard Metrics library under the covers.
GitHub issue: #27
Use median and percentiles as default in the output
The median and percentiles are now the defaults in the console output. Use the l
flag if you absolutely need the legacy metrics (min/avegerage/max
).
GitHub issue: #32
Produce timing results in a CSV file
PerfTest
can export the median and percentiles metrics to a CSV file (option o
on the command line).
GitHub issue: #28
Set minimum Java version to 8
GitHub issue: #46
Upgrade to Java Client 5.0.0
GitHub issue: #47
Use default exchange by default
GitHub issue: #45