Closed wacban closed 1 month ago
Attention: Patch coverage is 0.95238%
with 104 lines
in your changes missing coverage. Please review.
Project coverage is 71.46%. Comparing base (
8d349d6
) to head (df32228
).
Files | Patch % | Lines |
---|---|---|
tools/state-viewer/src/congestion_control.rs | 0.95% | 101 Missing and 3 partials :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@jakmeier I split the benchmarking into two separate commands so that it's forced to go through the db. Thanks for catching the lack of commit, this was it. Also applied other commits and did some refactoring.
First data point: Bootstrapping of 10k 10kB receipts takes ~2s on an mainnet RPC node. This should be the upper bound as it's executed in the standalone command whereas in practice we may benefit from caches.
0 - V1(CongestionInfoV1 { delayed_receipts_gas: 0, buffered_receipts_gas: 0, receipt_bytes: 101060000, allowed_shard: 0 }) - 2.208872722s
@jakmeier I'm going to merge this as is but please let me know if you have any other comments and I'll follow up.
@jakmeier I'm going to merge this as is but please let me know if you have any other comments and I'll follow up.
Only one question: What happens with the receipts afterwards? I guess they stay in the database forever? I know it's not something we expect anyone to run on their production system but it might still make sense to at least mention in the description of the command.
Only one question: What happens with the receipts afterwards? I guess they stay in the database forever? I know it's not something we expect anyone to run on their production system but it might still make sense to at least mention in the description of the command.
Yeah, the database should be considered corrupted. I did mention it in a comment on the PrepareBenchmark cmd. Still let me add some extra warning and a confirmation from the user.
Adding a tool for measuring the time it takes to run bootstrapping. This relies on existence of flat storage so in order to avoid needing to hunt for congestion I add some receipts to the queue directly. This is meant to be ran on an mainnet node to simulate execution on a real database.