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

feat: track & display information about unconfirmed block pool & confirmation latency #99

Open
7 of 22 tasks
mistakia opened this issue Mar 7, 2024 · 1 comment
Open
7 of 22 tasks
Labels
kind/enhancement A net-new feature or improvement to an existing feature priority/high High: Likely tackled by core team if no one steps up status/in-progress In progress

Comments

@mistakia
Copy link
Owner

mistakia commented Mar 7, 2024

display the following information:

  • Number of unconfirmed blocks per account
  • Number of accounts with unconfirmed blocks
  • Number of unconfirmed blocks by bucket
  • Number of unconfirmed blocks by type
  • Confirmation latency for each bucket
  • Confirmation latency for each account
  • Sort accounts by number of unconfirmed blocks
  • Sort accounts by oldest unconfirmed block

Core Tasks

Future Tasks

  • set up redis (or similar) for improved performance for certain queries
  • set up websocket to update page in real time
  • split & filter metrics by tags
@mistakia mistakia added need/triage Needs initial labeling and prioritization priority/high High: Likely tackled by core team if no one steps up kind/enhancement A net-new feature or improvement to an existing feature status/in-progress In progress and removed need/triage Needs initial labeling and prioritization labels Mar 7, 2024
@mistakia mistakia changed the title feat: track & display information about unconfirmed block pool feat: track & display information about unconfirmed block pool & confirmation latency Mar 10, 2024
@mistakia
Copy link
Owner Author

I’m now saving confirmation latency for all confirmed blocks. I’ve added median confirmation latency to the nano.community network section as a first attempt at a simple single metric to describe confirmation latency (e14ffb9). Also spun up a few endpoints to explore confirmation latency and the unconfirmed block pool, will follow up with a page to explore all this data.

Some work will be needed to improve the stability and performance of some queries. I also need to ensure that the bucketization is in parity with the reference implementation

API Endpoints:

Unconfirmed Accounts Summary

nano.community/api/nanodb/accounts/unconfirmed/summary

Returns the total number of accounts that have at least one unconfirmed block.

Filtered Unconfirmed Accounts

nano.community/api/nanodb/accounts/unconfirmed?[limit&offset&balance_min&balance_max&sort_by=unconfirmed_blocks&sort_order=desc]

Returns a list of accounts with unconfirmed blocks, filter by account balance with balance_min and balance_max, and sort by the number of unconfirmed_blocks or oldest_unconfirmed_block_timestamp.

Unconfirmed Blocks Summary

nano.community/api/nanodb/blocks/unconfirmed/summary

Returns the count of unconfirmed blocks by type/subtype as well as count by bucket

Confirmed Blocks Statistics

nano.community/api/nanodb/blocks/confirmed/summary?period=[1h|24h|7d|30d]

Returns median, minimum, and maximum confirmation latency statistics on all confirmed blocks over specified periods (1 hour, 24 hours, 7 days, 30 days), as well as the count of confirmed blocks, categorized into different balance buckets.

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 priority/high High: Likely tackled by core team if no one steps up status/in-progress In progress
Projects
Status: Started
Development

No branches or pull requests

1 participant