Skip to content
This repository has been archived by the owner on Aug 2, 2021. It is now read-only.

api, network: count chunk deliveries per peer #1534

Merged
merged 1 commit into from Jul 9, 2019

Conversation

nonsense
Copy link
Contributor

@nonsense nonsense commented Jul 3, 2019

This PR is adding a debug API that will allow us to measure how many chunk are delivered by which peers of a given node, during retrieve requests.

I am open to suggestions on alternative ways to implement this if you have better ideas, but I think we need such feedback from nodes, so that we see which of our peers we are actually utilising during retrieve requests (it should be all our peers in my opinion).

Related: #1533

Open questions:

  • Are we ok with using the metrics library for such diagnostics APIs? I am not sure, maybe we want to explicitly have APIs that return these values and have proper tests for them, if we use them for other purposes? For a quick hack, this is good enough, question is whether we foresee this as necessary for other purposes.

Copy link
Member

@janos janos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer not to use metrics library, because it is a global state and Delivery can have multiple instances. But, this works correctly until we have only one Delivery.

@skylenet skylenet added this to the 0.4.3 milestone Jul 4, 2019
@nonsense nonsense merged commit 7101f65 into master Jul 9, 2019
@nonsense nonsense deleted the count-chunks-per-peer branch July 18, 2019 12:57
chadsr added a commit to chadsr/swarm that referenced this pull request Sep 23, 2019
* 'master' of github.com:ethersphere/swarm: (54 commits)
  api, chunk, cmd, shed, storage: add support for pinning content (ethersphere#1509)
  docs/swarm-guide: cleanup (ethersphere#1620)
  travis: split jobs into different stages (ethersphere#1615)
  simulation: retry if we hit a collision on tcp/udp ports (ethersphere#1616)
  api, chunk: rename Tag.New to Tag.Create (ethersphere#1614)
  pss: instrumentation and refactor (ethersphere#1580)
  api, cmd, network: add --disable-auto-connect flag (ethersphere#1576)
  changelog: fix typo (ethersphere#1605)
  version: update to v0.4.4 unstable (ethersphere#1603)
  swarm: release v0.4.3 (ethersphere#1602)
  network/retrieve: add bzz-retrieve protocol (ethersphere#1589)
  PoC: Network simulation framework (ethersphere#1555)
  network: structured output for kademlia table (ethersphere#1586)
  client: add bzz client, update smoke tests (ethersphere#1582)
  swarm-smoke: fix check max prox hosts for pull/push sync modes (ethersphere#1578)
  cmd/swarm: allow using a network interface by name for nat purposes (ethersphere#1557)
  pss: disable TestForwardBasic (ethersphere#1544)
  api, network: count chunk deliveries per peer (ethersphere#1534)
  network/newstream: new stream! protocol base implementation (ethersphere#1500)
  swarm: fix bzz_info.port when using dynamic port allocation (ethersphere#1537)
  ...
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants