-
Notifications
You must be signed in to change notification settings - Fork 1
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!: per-miner & per-client daily deal stats #336
Conversation
Rework the daily_deals table into the following schema: For each (day, miner_id, client_id), we want to know the following numbers (counts): - `tested`: (NEW) total deals tested - `indexed`: deals announcing retrievals to IPNI (HTTP or Graphsync retrievals) - `indexed_http`: (NEW) deals announcing HTTP retrievals to IPNI - `majority_found`: (NEW) deals where we found a majority agreeing on the same result - `retrievable`: deals where the majority agrees the content can be retrieved BREAKING CHANGE: spark-stats endpoints consuming this table need to change queries to use `tested` instead of `total`. Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
Can we use this as an opportunity to fix this coupling, by adding an HTTP endpoint to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please see #336 (comment)
spark-evaluate does not expose any HTTP interface right now. Changing that is way beyond the scope of this work, IMO. IIRC, the direction we wanted to take is to improve spark-evaluate to publish the evaluation results to IPFS & commit the CID to the smart contract and then move all code building publicly-retrievable stats from spark-evaluate to spark-stats repository. |
@juliangruber I realised I need two values for What would be good column names? I feel that How about The scores will be then calculated as follows:
|
What about these:
I think these make sense because they stand for "majority found in the index process" and "majority found in the retrieval process". Strictly speaking it's "index resolution", so should be |
Co-authored-by: Julian Gruber <julian@juliangruber.com>
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
The PR is ready for final review & landing. @juliangruber PTAL 🙏🏻 |
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
@juliangruber LGTY now? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, Miro!!
Suspect IssuesThis pull request was deployed and Sentry observed the following issues:
Did you find this useful? React with a 👍 or 👎 |
Rework the
daily_deals
table into the following schema:For each
(day, miner_id, client_id)
, we want to know the following numbers (counts):tested
: (NEW) total deals testedindex_majority_found
: (NEW) deals where we found a majority agreeing on the same result of the IPNI queryindexed
: deals announcing retrievals to IPNI (HTTP or Graphsync retrievals)indexed_http
: (NEW) deals announcing HTTP retrievals to IPNIretrieval_majority_found
: (NEW) deals where we found a majority agreeing on the same result of the retrieval requestretrievable
: deals where the majority agrees the content can be retrievedBREAKING CHANGE: spark-stats endpoints consuming this table need to change queries to use
tested
instead oftotal
.Links:
Remaining work:
INDEX ON daily_deals (day)
)