-
Notifications
You must be signed in to change notification settings - Fork 7
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
Generate stats from loadgen run #36
Generate stats from loadgen run #36
Conversation
Hm, does that mean if something interrupts the run, we get no stats data? That sounds kinda fragile. I was expecting a tool that executes after the run is complete and derives stats from the logs. |
Unless the runner crashes in some way I haven't anticipated, it should always generate summaries for the stages and the run, and output stats as |
3050fd7
to
0348471
Compare
4d96e29
to
541e6a8
Compare
Various fixes to loadgen and runner Fixes #28. Handles rename of `Treasury` -> `VaultFactory` Handle older SDK versions which don't have a fee purse implementation
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.
sounds good, let's look through the results together after the next run and see if it's enough to drive the decisions we need
541e6a8
to
6ff64f6
Compare
This is crux of the stats work.
After multiple rewrites, I settled on stats objects passed to individual monitors, with methods on the stats objects to capture important events and trigger computation of derived stats. Stats objects expose read-only properties (either getters or non-writable values), and form a tree through nested collections of stats objects. The root
stats
is serialized to JSON at the end of the loadgen run, and saved in thefinish
perf event saved to disk.Currently only block and cycle stats per stage, as well as their summaries, are generated. Process and storage usage stats can be added later.
run
->stages
->blocks
andcycles
In the future we can also consider saving and uploading intermediate states of the stats, e.g. after each stage completes, or even as soon as each block completes if we want to build a real-time dashboard.
As always, best reviewed commit-by-commit.
Stacks on top of preliminary refactors (#35) and fixes(#34).