-
Notifications
You must be signed in to change notification settings - Fork 245
feat(swingset-runner): Add cpu/heap profiling support #11400
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
Open
usmanmani1122
wants to merge
11
commits into
master
Choose a base branch
from
usman/swingset-runner-profiling-support
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
b3d456c
feat: support cpu profile generation
usmanmani1122 f5c9283
memory profiling flag support
usmanmani1122 b72f307
custom sample interval
usmanmani1122 355167d
Merge branch 'master' into usman/swingset-runner-profiling-support
usmanmani1122 b6ba772
Merge branch 'master' into usman/swingset-runner-profiling-support
usmanmani1122 d7e8eb3
allow custom sampling + add help message
usmanmani1122 dafa476
error handling
usmanmani1122 e043b10
Merge branch 'master' into usman/swingset-runner-profiling-support
usmanmani1122 e5a1be6
address @gibson042 comments
usmanmani1122 9f989d9
fix README.md formatting
usmanmani1122 a9a16ed
Merge branch 'master' into usman/swingset-runner-profiling-support
usmanmani1122 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
<pre> | ||
Command line: | ||
runner [FLAGS...] CMD [{BASEDIR|--} [ARGS...]] | ||
|
||
FLAGS may be: | ||
--resume - resume execution using existing saved state | ||
--initonly - initialize the swingset but exit without running it | ||
--sqlite - runs using Sqlite3 as the data store (default) | ||
--memdb - runs using the non-persistent in-memory data store | ||
--usexs - run vats using the XS engine | ||
--usebundlecache - cache bundles created by swingset loader | ||
--dbdir DIR - specify where the data store should go (default BASEDIR) | ||
--blockmode - run in block mode (checkpoint every BLOCKSIZE blocks) | ||
--blocksize N - set BLOCKSIZE to N cranks (default 200) | ||
--logtimes - log block execution time stats while running | ||
--logmem - log memory usage stats after each block | ||
--logdisk - log disk space usage stats after each block | ||
--logstats - log kernel stats after each block | ||
--logall - log kernel stats, block times, memory use, and disk space | ||
--logtag STR - tag for stats log file (default "runner") | ||
--slog FILE - write swingset slog to FILE | ||
--teleslog - transmit a slog feed to the local otel collector | ||
--forcegc - run garbage collector after each block | ||
--batchsize N - set BATCHSIZE to N cranks (default 200) | ||
--verbose - output verbose debugging messages as it runs | ||
--activityhash - print out the current activity hash after each crank | ||
--audit - audit kernel promise reference counts after each crank | ||
--dump - dump a kernel state store snapshot after each crank | ||
--dumpdir DIR - place kernel state dumps in directory DIR (default ".") | ||
--dumptag STR - prefix kernel state dump filenames with STR (default "t") | ||
--raw - perform kernel state dumps in raw mode | ||
--stats - print a performance stats report at the end of a run | ||
--statsfile FILE - output performance stats to FILE as a JSON object | ||
--benchmark N - perform an N round benchmark after the initial run | ||
--sbench FILE - run a whole-swingset benchmark with the driver vat in FILE | ||
--chain - emulate the behavior of the Cosmos-based chain | ||
--indirect - launch swingset from a vat instead of launching directly | ||
--config FILE - read swingset config from FILE instead of inferring it | ||
--cpu-profile-output - specify where the cpu profile will be dumped (generated using engine's native inspector) | ||
--heap-profile-output - specify where the heap profile will be dumped (generated using engine's native inspector sampler) | ||
--heap-sampling-interval - override the sampling heap inteval (default value is 1024) | ||
|
||
CMD is one of: | ||
help - print this helpful usage information | ||
run - launches or resumes the configured vats, which run to completion. | ||
batch - launch or resume, then run BATCHSIZE cranks or until completion | ||
step - steps the configured swingset one crank. | ||
shell - starts a simple CLI allowing the swingset to be run or stepped or | ||
interrogated interactively. | ||
|
||
BASEDIR is the base directory for locating the swingset's vat definitions and | ||
for storing the swingset's state. If BASEDIR is omitted or '--' it defaults | ||
to, in order of preference: | ||
- the directory of the benchmark driver, if there is one | ||
- the directory of the config file, if there is one | ||
- the current working directory | ||
|
||
Any remaining command line args are passed to the swingset's bootstrap vat in | ||
the 'argv' vat parameter. | ||
</pre> |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
This does not render well; the line breaks are all collapsed.