-
Notifications
You must be signed in to change notification settings - Fork 446
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
feat(@libp2p/perf): Continously measure Performance on a Single Connection #2064
Comments
Thank you @maschad for the help here!
Just to avoid confusion, from the perspective of the js-libp2p perf binary, it is still a single connection and a single stream throughout its process lifetime. |
Just to be clear here, that is not what #2067 does. It transfers a fixed amount of data and once a second (give or take) it logs how much data was transferred during the previous interval. |
Measures upload/download speed separately and also over time rather than in total. Closes #2064 BREAKING CHANGE: `measurePerformance` now returns an async generator that yields `PerfOutput`s and no longer accepts the `startTime` parameter --------- Co-authored-by: Alex Potsides <[email protected]>
The 60 seconds are enforced by the runner. Detail being that it is actually 20s, not 60s. |
Measures upload/download speed separately and also over time rather than in total. Closes libp2p#2064 BREAKING CHANGE: `measurePerformance` now returns an async generator that yields `PerfOutput`s and no longer accepts the `startTime` parameter --------- Co-authored-by: Alex Potsides <[email protected]>
The motivation for the larger effort is documented in libp2p/test-plans#261.
Instead of downloading an arbitrary amount of MB multiple times, each on a new connection, establish a single connection and continuously measure the throughput for a fixed duration (60s by default). Perf
stdout
output would be refactored as such :where every second the client must print the current progress to
stdout
. See example below. Note thetype: "intermediary"
.Before terminating, the client must print a final summary. See example below. Note the
type: "final"
. Also note that the measurement includes the time to (1) establish the connection, (2) upload the bytes and (3) download the bytes.The text was updated successfully, but these errors were encountered: