Skip to content

Conversation

michaelbarnes
Copy link
Contributor

This PR introduces small updates to the test-client concurrent-connections command, based on feedback from a customer who's using the test-client to perform load-testing. Here's what's changed:

  1. The logging output from the concurrent-connections command has been made the same regardless of the mode param provided i.e. Websocket and HTTP mode now print the same types of messages e.g. checkpoint_complete op_id: ${last_op_id}, ops: ${numOperations}, bytes: ${size}, duration: ${duration}ms, data: [${printData}].
  2. A new print (-p or --print) param was added to the concurrent-connections command. Developers can provide a field that displays the corresponding values from the synced source database, once the sync has completed. The id value will print by default if no argument is provided for the print command.
  3. The README of the test-client has been updated with more details on each of the available commands.

Copy link

changeset-bot bot commented Sep 5, 2025

⚠️ No Changeset found

Latest commit: c626b25

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Contributor

@rkistner rkistner left a comment

Choose a reason for hiding this comment

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

The default behavior of printing the id can cause a lot of output to the console, especially when using this for a typical case of testing bulk initial sync. I'd recommend disabling that option by default, instead of defaulting to printing the id.

Otherwise this looks good to me.

@rkistner
Copy link
Contributor

rkistner commented Sep 8, 2025

@michaelbarnes I rewrote the logic a bit:

  1. The websocket/http implementations now only take care of the "transport-level" logic.
  2. There is now only one implementation that parses the individual messages, built on top of the transport above.
  3. Both http and websocket implementations now support automatic retries, resuming at the last synced bucket positions.
  4. I added a "--once" option to stop after the first checkpoint.
  5. The print option defaults to not printing anything.

@rkistner rkistner requested a review from Chriztiaan September 8, 2025 11:54
@rkistner rkistner merged commit 92bed80 into main Sep 8, 2025
20 of 21 checks passed
@rkistner rkistner deleted the feat-test-client-additional-params branch September 8, 2025 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants