Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Convenience flags for benchmark-storage #10929

Closed
5 tasks done
ggwpez opened this issue Feb 26, 2022 · 5 comments · Fixed by #11004
Closed
5 tasks done

Convenience flags for benchmark-storage #10929

ggwpez opened this issue Feb 26, 2022 · 5 comments · Fixed by #11004
Labels
Z1-easy Can be fixed primarily by duplicating and adapting code by an intermediate coder Z6-mentor An easy task where a mentor is available. Please indicate in the issue who the mentor could be.

Comments

@ggwpez
Copy link
Member

ggwpez commented Feb 26, 2022

Some low hanging fruits that were omitted in the first iteration:

  • --no-json: Do not create json files.
  • --json-path: customize the json output path. Maybe with string interpolation of "$DB" and "$RUNTIME" variables.
  • --template-path: override the HBS template to use.
  • Extend the warmup round to include write benchmarks.
  • Add the Blocknumber that was used to the HBS template.
@ggwpez ggwpez added Z6-mentor An easy task where a mentor is available. Please indicate in the issue who the mentor could be. Z1-easy Can be fixed primarily by duplicating and adapting code by an intermediate coder labels Feb 26, 2022
@daanschutte
Copy link
Contributor

Hi @ggwpez, I'm interested in attempting this one (new to the project and to rust).

Any pointers for where to start?

@ggwpez
Copy link
Member Author

ggwpez commented Mar 2, 2022

Hey @daanschutte!
Nice to hear. The --no-json is really simple to implement, if you are just starting out.

Its about adding a flag that prevents the JSON files to be written, currently they are always written.
The code is in utils/frame/benchmarking-cli/src/storage/cmd.rs.
You can also do more than that but decide for your self.

@daanschutte
Copy link
Contributor

@ggwpez could you please provide some clarity on the intended behaviour of --json-path?

Since a single, user-specified path name would not work (the output of the write data will overwrite the output of the read data),

  • Do we want to in fact just specify a --json-prefix to the current filename scheme (e.g. <prefix>_db_read.json)?
  • Alternatively, would it be useful to give the user full control with both a --json-read-path and a --json-write-path?

@ggwpez
Copy link
Member Author

ggwpez commented Mar 7, 2022

Since a single, user-specified path name would not work (the output of the write data will overwrite the output of the read data),

Yea, did not think about that.

Maybe you can turn the behaviour of JSON generation around and only generate the specific files when --json-read-path or --json-write-path is present. Then we do not need the --no-json.
I think this would be the easiest for now, unless you find something even better 😊 @daanschutte

@daanschutte
Copy link
Contributor

Sounds good 👍

I'll think it over a bit.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Z1-easy Can be fixed primarily by duplicating and adapting code by an intermediate coder Z6-mentor An easy task where a mentor is available. Please indicate in the issue who the mentor could be.
Projects
Development

Successfully merging a pull request may close this issue.

2 participants