Expired
Milestone
Jul 17, 2023–Sep 30, 2023
Teztale v2.0
Motivation
Detect anomalies on Tezos networks or be able to answer questions such as :
- M nodes received some attestations or blocks but N nodes did not
- How much time elapsed between the moment the first node receives an attestation and the moment the last node receives the same attestation
- Do a node always receive attestations or blocks X ms after another node ?
- Do different nodes receive attestations in the same order ?
- Do all nodes receive attestations in the same time period ?
- Which nodes have not received attestations or blocks they should have ?
- Which nodes are not in good health ?
- Which nodes are always late, always receive their attestations after every other nore ?
- Which nodes receive attestations or blocks with a delay that significantly deviates from the mean ? from the median ?
Workbreakdown
Back-end
-
Archiver saves data on disk for later replay when database is not available (issues teztale#33 (closed), teztale#25 (closed), teztale#20 (closed)) -
Collect level of first block of each cycle in a new table (issue teztale#26 (closed), @pikatos) -
Annotate archiver messages by chain-id (issue teztale#30) -
Collect info about non proposed blocks received at round N, but not at lesser rounds) (issue teztale#31 (closed))
Front-end
-
Display a new page to show arriving or exiting of bakers between rounds : teztale-dataviz#16 (closed) -
Add a page to list all downtimes (i.e. all levels with round greater than a chosen parameter) (@sagotch ) -
Display a new page with the following health metrics: teztale#17 (@sagotch) -
Start by testing with few queries of a range of levels (teztale#29 (closed)) -
Handle the rest in dataviz
-
-
Display a page comparing reception delays of attestations or blocks from multiple nodes in a given network -
User documentation (e.g. blog post for teztale setup, tooltips explaining each data exposed directly in teztale-dataviz, user manual) -
Fix concurrency problem : sometimes query to get data for a given level is executed while data for the said level is still being inserted in the database
Loading
Loading
Loading
Loading