Skip to content

qa: Topology scanning for testnet execution #9332

@thanethomson

Description

@thanethomson

Due to the fact that testnet topology may have a meaningful impact on testnet performance, and with common configurations the steady-state testnet topology may be totally random/non-deterministic, we need some way to build an accurate picture of the topology of each testnet we run.

We currently believe that the best way to do this would be to build a tool to capture the IDs of all of the nodes to which each node is connected, as well as whether it is an outgoing or an incoming peer.

Requirements:

  1. We must be able to ascertain the details of all of the nodes to which a particular node is connected, across the entire testnet.
  2. We must take snapshots of this information at least once per minute.
  3. Each snapshot must be stored in a simple text file that can be easily ingested during post-hoc analysis (e.g. in CSV format), with the filename clearly containing the timestamp at which the snapshot was taken.
  4. During post-hoc analysis, there must be a way to associate node IDs with hostnames, such that we can clearly see which hosts were connected to which others.
  5. We must be able to easily collect these snapshots in an organized way (e.g. if all of the snapshots are stored on each node's host, we should be able to easily just fetch these snapshot files).

With this data, we will eventually be able to do the following (out of scope for this specific issue, but just to provide context on what we'll do with the data):

  • Render diagrams of the network topologies
  • Compute statistics on the topology graph (e.g. min/max/avg. distance between nodes)

Metadata

Metadata

Assignees

No one assigned

    Labels

    stalefor use by stalebot

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions