[Feat.Req] Message pipelining with persisted operations summary #83
Labels
meta:triaged
This issue has been triaged (has a good description, as well as labels for priority, size and type)
p2
Medium priority
size:large
Large
type:feature
New or enhanced functionality
Problem statement
Message pipelining is a crucial point for the success and efficiency of Subgraph Radio's POI cross-checking feature. It ensures that public POIs are seamlessly created, sent, received, processed, and cross-checked. This issue goes over the current state and missing pieces of the pipeline.
Triggering Creation of POI Messages
Upon message block number calculated by a fixed block interval and the synced indexing status, Subgraph Radio operator initiates the process to create a public POI message.
Sending the POI Message
Once a public POI message is created, operator immediately passes the message to Graphcast agent for the message signing and broadcast to the Graphcast Network, ensuring other Indexers are informed about the latest POIs.
Receiving and Processing
Other Indexers' Radios constantly listen for incoming public POI messages. Once a message has been send to the network, they start a local timer for message collection window and accept messages for that message block. When a message is received, it's authenticated and cached for further processing.
Cross-checking Calculation
After the collection window for a certain block, the radio compares the local POIs against the received public ones. The goal is to establish consensus across all Indexers (radios are limited to compute consensus from the received messages). If there are any new divergence, alerts are triggered.
Persisted State of Summary for POI Messages
Provide an overview and insight into the behavior and performance of the Subgraph Radio regarding the handling of POI messages, a persisted state of summary is maintained. This summary should enable users to quickly gauge the health, performance, and trends related to the POI messages without diving deep into individual message details.
Expectation proposal
Summary Specifications (can be extended)
Σ(Processing times of new messages) / Number of new messages
for each block interval. In combination with Average message frequency, we can better understand the performance of radio in relation to the network.autometrics
for the functions(Total Divergence Detected / Total Message Count) * 100
. Update by recalculating the rate using the updated total divergence and total message count for a given timeframe.Alternative considerations
More metrics
The text was updated successfully, but these errors were encountered: