Future-proof Benchmarking ⏱
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 65
- Forks
- 82
- PR merge metrics
- No merged PRs in 30d
Description
eta: 2023Q2
- [ ] perf protocol
- [x] spec https://github.com/libp2p/specs/pull/478
- [x] https://github.com/libp2p/rust-libp2p/pull/3508 (rust-libp2p)
- [x] go-libp2p https://github.com/libp2p/test-plans/pull/184
- [x] https://github.com/libp2p/js-libp2p/pull/1604 (js-libp2p)
- [x] https://github.com/libp2p/test-plans/issues/261
- [ ] #204
- [ ] Create performance tooling to run perf protocol implementation on cloud instances
- [x] First iteration https://github.com/libp2p/test-plans/pull/184
- [x] Only use a single seconds measurement. Don't split in connection establishment, upload and download. These are difficult to differentiate. https://github.com/libp2p/test-plans/pull/207
- [x] Add js-libp2p https://github.com/libp2p/js-libp2p/pull/1604 https://github.com/libp2p/test-plans/pull/244
- [ ] Add back zig-libp2p
- [ ] Run iperf on both UDP *and* TCP
- [ ] Requests per second (for some request/response protocol)
- [ ] Handshakes per second (useful to identify overhead in connection initialization).
- [ ] Support testing other security protocols, i.e. Noise
- [ ] Resource utilization benchmark?
- [ ] Don't blindly trust server and clients ssh key (mitm attack)
- [x] Automation see https://github.com/libp2p/test-plans/issues/183
- [x] Visualize data emitted by above performance tooling #156
- [x] ideally mirror advanced filtering in the URL for better sharing
- [ ] https://github.com/libp2p/test-plans/issues/27
- [x] https://github.com/libp2p/test-plans/issues/65
- [ ] https://github.com/libp2p/blog/issues/74
- [ ] Diverse benchmarks e.g. multiple streams or multiple connections
- [ ] Write documentation
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the perf protocol specification and the linked test-plans performance-tooling pull requests and issues. Separate the remaining checklist items into a scoped change; done should include the selected benchmark capability, its execution and visualization path, and updated documentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, javascript, python, rust
- Domain
- cloud, networking, performance, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100