Add get_blocks and get_slot methods to bench-tps-client#94
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #94 +/- ##
=========================================
- Coverage 81.8% 81.8% -0.1%
=========================================
Files 838 838
Lines 226223 226223
=========================================
- Hits 185240 185177 -63
- Misses 40983 41046 +63 |
a2703f1 to
5287558
Compare
| @@ -1,6 +1,7 @@ | |||
| use { | |||
There was a problem hiding this comment.
Plan is still for ThinClient to be deprecated then deleted, right?
There was a problem hiding this comment.
Yes, been deprecated in PR: #35365. Fully removing it from other parts is WIP
bw-solana
left a comment
There was a problem hiding this comment.
Code looks good to me.
Design wise, I'm debating if bench-tps is the right tool for doing this. I can convince myself that verifying transaction results is a reasonable extension of the existing tool.
illia-bobyr
left a comment
There was a problem hiding this comment.
Questions about the commitment level are quite reasonable.
This change is to support more metrics in bench-tps.
Specifically, Kirill is adding block fetching code here: #92
As bench-tps is supposed to be a major source of transactions, while it is running, fetching whole blocks and getting transaction stats this way it probably the most efficient approach.
There is a short summary here: https://github.com/anza-xyz/agave/pull/92/files#diff-1d0a43d64af632a7d6ecf76ff095dec3b9a6243758fb5818752e26f4c5383611R1-R2
But it would not hurt to provide a more extensive reasoning in the same or some other comment, relevant to the added service :P
For fetching blocks, I think, we want confirmed commitment level. Latency is not important, and we would not want to deal with forks.
We may want to add some fork related stats in there at a later point.
Alternatively, I could have implemented a standalone tool which goes over all the provided signatures in the give span of blocks and does the same. This approach will make bench-tps runs execution to take much longer time and will lead to slightly more complex setup (create signature file, read it, what if something went wrong, etc) |
5287558 to
318a67b
Compare
* add get_block(s)/slot methods to BenchTpsClient * Update Cargo.lock * add commitment level for get_slot/blocks
Problem
For the analysis of the confirmed transactions implemented in #92
BenchTpsClientneeds some additional methods.Summary of Changes
Add
get_block,get_blocksandget_slotmethods.