Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
We are looking to expand the sync statistics for the Aion Kernel to produce a more comprehensive set that helps users and developers better monitor the Kernel.
# Current situation
The feature set described below is missing from the current Aion implementation.
# Task Description
We're asking for contributors to modify the class [`SyncStats.java`](https://github.com/aionnetwork/aion/blob/master-pre-merge/modAionImpl/src/org/aion/zero/impl/sync/SyncStats.java) to expand the sync statistics gathered and printed in the logs.
The functionality to be added is:
* The **percentage of requests** made to each peer with respect to the total number of requests made.
* A list of peers ordered by the **total number of blocks received** from each peer used to determine who is providing the majority of blocks, i.e. top seeds.
* A list of peers ordered by the **total number of blocks requested** by each peer used to determine who is requesting the majority of blocks, i.e. top leeches.
* **Average response time** between sending blocks out and that peer responding shown for each peer and averaged for all peers.
* **Unit tests** showing correct functionality and full coverage of the methods added to SyncStats class to provide the above-mentioned functionality additions.
# Acceptance Criteria
- The code implements the targets described above.
- The code is well documented and fully covered by unit tests.
- The code is compliant with Aion's [code conventions](https://github.com/aionnetwork/aion/wiki/Aion-Code-Conventions).
- The code gets merged into the main code repository.
# Required Skill
Participants need to have experience in Java software development, debugging and have basic knowledge about blockchain systems.
Details regarding this issue can be requested in comments.
Further technical support is available through [Gitter](https://gitter.im/aionnetwork/Lobby).