fix(ethexe/node-loader): fix program creation ratio + script#5400
fix(ethexe/node-loader): fix program creation ratio + script#5400
Conversation
Changed Files
|
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces enhancements to the ethexe node-loader to improve its flexibility and reliability during load testing. By adding configurable program creation ratios and a more intelligent, dynamic watchdog timeout system, the loader can better adapt to varying network conditions and testing requirements. Additionally, the local environment setup script has been updated to better support Podman-based container execution. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces dynamic watchdog timeouts for the node loader, allowing timeouts to scale based on batch complexity and size. It also implements a --program-creation-ratio flag to control the workload mix between program creation and steady-state traffic, and updates the local network script for Podman compatibility. Feedback is provided regarding the reachability of UPLOAD_CODE_BATCH_ID in the batch generator and a suggestion to clarify the inclusive range in the documentation.
|
|
||
| fn select_non_creation_batch_id(&mut self, context: &Context) -> u8 { | ||
| let mut viable = vec![1, 2]; | ||
| let mut viable = vec![SEND_MESSAGE_BATCH_ID]; |
There was a problem hiding this comment.
In select_non_creation_batch_id, UPLOAD_CODE_BATCH_ID was removed, which seems correct as it's not part of steady-state traffic. However, it was not added to select_program_creation_batch_id. This makes UPLOAD_CODE_BATCH_ID unreachable from the main batch generation logic in select_batch_id, effectively disabling standalone upload_code batches.
If this is not intended, select_program_creation_batch_id should be updated to include UPLOAD_CODE_BATCH_ID as a possible outcome. For example:
fn select_program_creation_batch_id(&mut self, context: &Context) -> u8 {
if context.all_code_ids().is_empty() {
// Must upload a program to get a code ID.
return UPLOAD_PROGRAM_BATCH_ID;
}
// A possible distribution, please adjust to desired workload.
match self.batch_gen_rng.gen_range(0..3) {
0 => UPLOAD_PROGRAM_BATCH_ID,
1 => CREATE_PROGRAM_BATCH_ID,
_ => UPLOAD_CODE_BATCH_ID,
}
}| - `--max-top-up-value <u128>` in WVARA smallest units | ||
| - `--total-msg-value-budget <u128>` in wei | ||
| - `--total-top-up-budget <u128>` in WVARA smallest units | ||
| - `--program-creation-ratio <0..100>` controls new program creation after bootstrapping |
There was a problem hiding this comment.
The documentation for --program-creation-ratio specifies the range as <0..100>, which can be ambiguous. The implementation in args.rs uses an inclusive range 0..=100. To improve clarity and prevent misinterpretation, please consider updating the documentation to explicitly show an inclusive range, for example <0-100> or <0..=100>.
| - `--program-creation-ratio <0..100>` controls new program creation after bootstrapping | |
| - --program-creation-ratio <0-100> controls new program creation after bootstrapping |
No description provided.