go-ipfs should measure peer latency from more subsystems than just the DHT
- Dominant language
- Go
- Stars
- 17.1k
- Forks
- 3.2k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 11
Description
#### Version information:
go-ipfs version: 0.4.19-
Repo version: 7
System version: amd64/linux
Golang version: go1.11.5
#### Type: enhancement
#### Description:
Currently, go-ipfs records peer latencies (`peerstore.Metrics.RecordLatency(peer.ID, time.Duration)`) from only two sources:
- user triggered ping using `ipfs ping `
- DHT requests (message that will lead to a response, not one off)
This situation lead to `ipfs swarm peers --latency` getting filled by peers with `n/a` latencies, because no latencies has ever been recorded for them. I expect that also leads to some bad decision when the connection manager has to drop some of them.
My point is, go-ipfs should record latencies from more subsystem. Maybe bitswap ?
Contributor guide
Assessment
This issue has not been assessed yet.