Skip to content
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

go-ipfs should measure peer latency from more subsystems than just the DHT #6161

Open
MichaelMure opened this issue Apr 1, 2019 · 1 comment
Labels
kind/enhancement A net-new feature or improvement to an existing feature

Comments

@MichaelMure
Copy link
Contributor

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 <peer>
  • 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 ?

@Stebalien
Copy link
Member

Currently, we only use latencies when making decisions in the DHT but I agree we should measure latencies in more places. Bitswap is hard because peers don't send blocks immediately, they put the user in a queue.

@Stebalien Stebalien added the kind/enhancement A net-new feature or improvement to an existing feature label Apr 1, 2019
@momack2 momack2 added this to Inbox in ipfs/go-ipfs May 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A net-new feature or improvement to an existing feature
Projects
No open projects
Development

No branches or pull requests

2 participants