Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Simulation Tools and Add Documentation #328

Merged
merged 7 commits into from
Apr 6, 2017

Conversation

bobbeyreese
Copy link
Contributor

Motivation

The load simulation tools introduced in #303 did not yet have documentation and performed crudely in a few cases. This PR adds documentation and improves these tools.

Modifications

  • Added documentation for simulation client, simulation controller, and monitor
  • Merged two monitor classes into one understanding both load manager APIs.
  • Reduced amount of messages sent back to controller to improve performance.
  • Created more compact and informative tabular printing for the monitor.
  • Added ability to copy, simulate, and stream data from ZooKeepers in simulation tools.

Result

The monitor may be started for either load manager using pulsar-perf monitor. Documentation for simulation tools is now present and those tools have been improved.

@@ -84,7 +84,7 @@

@Parameter(names = { "-c",
"--max-connections" }, description = "Max number of TCP connections to a single broker")
public int maxConnections = 0;
public int maxConnections = -1;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is already set that if you pass 0 it will disable the connection pool mechanism. Otherwise the client-lib default would be 1. So, I would say to set the default to 1 in this tool, so that it is more explicit what the resulting number of connection will be.

bin/pulsar-perf Outdated
simulation-controller Run a simulation controller to give commands to servers
produce Run a producer
consume Run a consumer
monitor Continuously receive broker data and/or load reports
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

monitor-load-manager? Or can this be used in more general testing scenarios?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A think monitor-brokers would be good, since it is really just printing out broker data in general.

Copy link
Contributor

@merlimat merlimat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@merlimat merlimat added the doc Your PR contains doc changes, no matter whether the changes are in markdown or code files. label Apr 4, 2017
@merlimat merlimat added this to the 1.18 milestone Apr 4, 2017
@merlimat merlimat merged commit b38da88 into apache:master Apr 6, 2017
@bobbeyreese bobbeyreese deleted the additional_features branch April 10, 2017 21:38
rdhabalia pushed a commit that referenced this pull request May 2, 2017
* Add documentation, improve simulation tools.

* Add global summary for monitor

* monitor -> monitor-brokers

* Don't modify performance producer/consumer

* Use property/cluster instead of cluster/property for simulation

* Fix regex
hangc0276 pushed a commit to hangc0276/pulsar that referenced this pull request May 26, 2021
simplify `MessageIdUtils.peekOffsetFromEntry` by use `Commands.peekBrokerEntryMetadataIfExist` directly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Your PR contains doc changes, no matter whether the changes are in markdown or code files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants