IntersectMBO / IntersectMBO/ouroboros-network
DeltaQ (ΔQ) measurement tool
- Dominant language
- Haskell
- Stars
- 296
- Forks
- 104
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 4
Description
Specification of `ΔQ` measurement tool:
1. single protocol build on top of `typed-protocol` described bellow
2. the protocol should allow to send arbitrary large requests (drawn from some distribution) messages, which allows to measure `ΔQ`. This part should be similar to the `ping-pong` protocol but allows to carry data along `pings` and `pongs`, together with timestamp information.
3. it should also allow to exchange `ΔQ` information between both sides.
4. validate the received `ΔQ`
The client would collect time stamps when a request was send, when received together with the request size, then plot flight time as a function of its size. The client, using linear regression, can find out how long it takes to send request with `0` size. This is the `g` component of `ΔQ` which can be exchanged in point 3. above.
Since it's a single `typed-protocol` it will not require to use `network-mux` library, and this is an important requirement. We want it to run on a bear bearer (`typed-protocols` require that the bearer delivers messages in order, for now we keep this as an assumption).
Future development might include:
- making `ΔQ` measurement persistent across sessions
- plotting time to completion as a function of size for each session; it is useful to compare `ΔQ` between different sessions.
- @karknu made a request that this tool could analyse `pcap` files to get `ΔQ` information.
Contributor guide
Assessment
This issue has not been assessed yet.