Steven Allen
69a8a6bc0e
fix(lotus-sim): lint
2021-06-18 15:44:37 -07:00
Jakub Sztandera
2fdf49e7da
Add histogram and quantiles for message sizes
...
Resolves https://github.com/filecoin-project/lotus/issues/6513
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-06-18 15:44:37 -07:00
Steven Allen
eb2b706156
chore: fix lint errors in simulation
2021-06-18 15:44:37 -07:00
Steven Allen
2aedd82c72
fix(lotus-sim): correct window post batch sizes
2021-06-18 15:44:37 -07:00
Steven Allen
bc2698a988
fix(lotus-sim): simulate using realistic gas numbers
...
Previously, we assumed the network was "optimal". Now, we're using real
numbers.
2021-06-18 15:44:37 -07:00
Steven Allen
a26cd5a809
fix(lotus-sim): mark provecommit stage initialized
2021-06-18 15:44:37 -07:00
Steven Allen
f0d0b40bd3
fix(lotus-sim): debug log mock
2021-06-18 15:44:37 -07:00
Steven Allen
ce29a0ac17
fix(lotus-sim): initialize commit queue
2021-06-18 15:44:37 -07:00
Steven Allen
28e6fa5923
fix(lotus-sim): remove duplicate error handling
2021-06-18 15:44:37 -07:00
Steven Allen
ec5fab09a1
feat(lotus-sim): log failing proofs
2021-06-18 15:44:37 -07:00
Steven Allen
e41f0842b0
fix(lotus-sim): load prove-commits
...
(regression from refactor)
2021-06-18 15:44:37 -07:00
Steven Allen
af33d69357
fix(lotus-sim): don't close node on list
2021-06-18 15:44:37 -07:00
Steven Allen
885062f712
fix(lotus-sim): fix info state imports
2021-06-18 15:44:37 -07:00
Steven Allen
73ae1924bc
feat(lotus-sim): state size command
2021-06-18 15:44:37 -07:00
Steven Allen
22267eb45d
feat(lotus-sim): split info command file
2021-06-18 15:44:36 -07:00
Steven Allen
5d7b7ce5c1
feat(lotus-sim): allow profile info
2021-06-18 15:44:36 -07:00
Steven Allen
95cf577447
fix(lotus-sim): really cancel walk immediately
2021-06-18 15:44:36 -07:00
Steven Allen
8fffaa5c47
fix(lotus-sim): average over 2 days
...
There's too much noise per day.
2021-06-18 15:44:36 -07:00
Steven Allen
63178ce982
feat(lotus-sim): daily capacity growth
2021-06-18 15:44:36 -07:00
Steven Allen
0af7dcdedb
fix(lotus-sim): rename power to capacity
2021-06-18 15:44:36 -07:00
Steven Allen
f9d2a23132
fix(lotus-sim): correctly handle cancellation in walk
...
1. Select order is not guaranteed, always check if the context has been
canceled explicitly.
2. Never close a work channel unless we're actually done. This can yield
out-of-order results due to buffering.
2021-06-18 15:44:36 -07:00
Steven Allen
ec3f969e9a
feat(lotus-sim): allow walking back past the start
2021-06-18 15:44:36 -07:00
Steven Allen
f6043a0250
feat(lotus-sim): measure daily power growth
2021-06-18 15:44:36 -07:00
Steven Allen
52261fb814
refactor(lotus-sim): enterprise grade
...
While the previous version "worked", this version nicely separates out
the state for the separate stages. Hopefully, we'll be able to use this
to build different pipelines with different configs.
2021-06-18 15:44:36 -07:00
Jakub Sztandera
7dd58efb84
Add quantiles and histogram
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-06-18 15:44:36 -07:00
Steven Allen
2721279e87
fix(lotus-sim): describe info commands
2021-06-18 15:44:36 -07:00
Steven Allen
985994cc0f
feat(lotus-sim): add command for analyzing post stats over time
2021-06-18 15:44:36 -07:00
Steven Allen
707b3bf08a
fix(lotus-sim): refuse to start simulation with no miners
2021-06-18 15:44:36 -07:00
Steven Allen
d551f2b4bd
feat(lotus-sim): print duration info in days
2021-06-18 15:44:36 -07:00
Steven Allen
1df5445ed2
feat(lotus-sim): make walk parallel
2021-06-18 15:44:36 -07:00
Steven Allen
fbaffe86da
fix(lotus-sim): return error from walk
2021-06-18 15:44:36 -07:00
Steven Allen
500fae6a52
fix(lotus-sim): less indentation in info
2021-06-18 15:44:36 -07:00
Steven Allen
ab59474c4c
fix(lotus-sim): count single prove-commits when computing efficiency
2021-06-18 15:44:36 -07:00
Jakub Sztandera
3d3c26fa0c
Add lookback limit
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-06-18 15:44:36 -07:00
Steven Allen
68593ce995
fix(lotus-sim): obey context in walk
2021-06-18 15:44:36 -07:00
Jakub Sztandera
ca9eadd7c7
Add gas info command
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-06-18 15:44:36 -07:00
Steven Allen
16449007ab
fix(lotus-sim): fix funding error check
2021-06-18 15:44:35 -07:00
Steven Allen
8d734d81d9
fix(lotus-sim): log failed pre-commits and continue
2021-06-18 15:44:35 -07:00
Steven Allen
783dc5a33d
fix(lotus-sim): fund multiple times
...
Sometimes, a miner is deep in the red.
2021-06-18 15:44:35 -07:00
Steven Allen
be713ec04a
fix(lotus-sim): we always fill the block with pre-commits
2021-06-18 15:44:35 -07:00
Steven Allen
c18ca60d28
fix(lotus-sim): specify ErrWriter
...
Apparently, it defaults to nil...
2021-06-18 15:44:35 -07:00
Steven Allen
977bf1cad9
fix(lotus-sim): write pprof profiles to a directory
...
We need to know the sizes up-front for tar, and that's not happening.
2021-06-18 15:44:35 -07:00
Steven Allen
7a8bfd8725
doc(lotus-sim): document signals
2021-06-18 15:44:35 -07:00
Steven Allen
a3f64e0768
fix(lotus-sim): profile signal handling
2021-06-18 15:44:35 -07:00
Steven Allen
5766002370
fix(lotus-sim): guard info with dashes
2021-06-18 15:44:35 -07:00
Steven Allen
4a80c83533
fix(lotus-sim): fix spelling
2021-06-18 15:44:35 -07:00
Steven Allen
936659d087
feat(lotus-sim): print info on SIGUSR1
2021-06-18 15:44:35 -07:00
Steven Allen
dcdb0abe27
feat(lotus-sim): profile on SIGUSR2
2021-06-18 15:44:35 -07:00
Steven Allen
2b77c17546
chore(lotus-sim): fix import grouping
...
I got a bit lazy when developing this.
2021-06-18 15:44:35 -07:00
Steven Allen
1802ae31a6
feat(lotus-sim): record timing information for pre/prove-commit packing
2021-06-18 15:44:35 -07:00
Steven Allen
868231adc7
fix(lotus-sim): don't take from the fund account when funding
2021-06-18 15:44:35 -07:00
Steven Allen
2b4f865665
feat(lotus-sim): fund from a funding account
...
Instead of funding the simulation from the burnt-funds actor, fund from
a custom account and take a "tax" to fund that account.
Otherwise, we run out of funds...
2021-06-18 15:44:35 -07:00
Steven Allen
86e459f585
feat(lotus-sim): return receipt
...
Instead of returning a "full" boolean and an error, return a receipt and
an error. We now use the error to indicate if the block is "full".
2021-06-18 15:44:35 -07:00
Steven Allen
88af350774
fix(lotus-sim): use global base-fee value
2021-06-18 15:44:35 -07:00
Steven Allen
747b3d3e57
fix(lotus-sim): skip miners without power when loading
2021-06-18 15:44:35 -07:00
Steven Allen
ba65a1ba9b
chore(lotus-sim): rename stat to info
2021-06-18 15:44:35 -07:00
Steven Allen
e097ba8640
feat(lotus-sim): wire up signal handler
2021-06-18 15:44:35 -07:00
Steven Allen
4578e0dd8d
chore(lotus-sim): remove dead code
2021-06-18 15:44:35 -07:00
Steven Allen
77f0fee58e
chore(lotus-sim): fix comment about simulation block miner
2021-06-18 15:44:35 -07:00
Steven Allen
bb4753ffbf
feat(lotus-sim): add commands to rename and copy
2021-06-18 15:44:35 -07:00
Steven Allen
4f0b9eefc1
fix(lotus-sim): check for slash in names on copy
2021-06-18 15:44:35 -07:00
Steven Allen
8410b0f79f
feat(lotus-sim): add a feature to copy/rename simulation.
...
Useful to backup old simulations before creating a new one.
2021-06-18 15:44:35 -07:00
Steven Allen
c5dc67ccd8
feat(lotus-sim): add a walk function
...
This way, we can easily walk the chain and:
1. Inspect messages and their results.
2. Inspect tipset state.
2021-06-18 15:44:35 -07:00
Steven Allen
ccdd660f0d
feat(lotus-sim): more stats
2021-06-18 15:44:35 -07:00
Steven Allen
5f6733fe44
feat(lotus-sim): expose StateManager from Simulation
2021-06-18 15:44:35 -07:00
Steven Allen
0faacbe154
feat(lotus-sim): store start tipset
2021-06-18 15:44:35 -07:00
Steven Allen
a57c509e1e
fix(lotus-sim): cleanup and document pre-commit filtering
2021-06-18 15:44:35 -07:00
Steven Allen
f9ebe3017d
test(lotus-sim): test commit-queue rollover
2021-06-18 15:44:35 -07:00
Steven Allen
0725019bdb
feat(lotus-sim): completely pack block
...
Instead of packing till we see "full". Prove-commits are large, we may
have room for some more pre-commits.
2021-06-18 15:44:34 -07:00
Steven Allen
dfdafa3c15
fix(lotus-sim): pretend all messages are BLS
...
It doesn't really matter, and it ensures they all get executed in-order.
2021-06-18 15:44:34 -07:00
Steven Allen
5b31ae39ea
fix: test commit queue
2021-06-18 15:44:34 -07:00
Steven Allen
82019ce474
fix(lotus-sim): correctly merge forward commit queue.
2021-06-18 15:44:34 -07:00
Steven Allen
2e4f526375
fix(lotus-sim): skip (and log) missing/expired pre-commits
2021-06-18 15:44:34 -07:00
Steven Allen
0ccf716989
fix(lotus-sim): refactor miner state loading
...
Add a helper function so we don't need to constantly repeat ourselves.
2021-06-18 15:44:34 -07:00
Steven Allen
7925b69573
doc(lotus-sim): document block generation logic
2021-06-18 15:44:34 -07:00
Steven Allen
2f7d7aed31
feat(lotus-sim): refactor and document
...
Hopefully, this'll make this code a bit easier to approach.
2021-06-18 15:44:34 -07:00
Steven Allen
b7bfc06ebe
feat(lotus-sim): add an info command
2021-06-18 15:44:34 -07:00
Steven Allen
be9e30e39d
fix(lotus-sim): rename step to run
...
And make it run forever by default.
2021-06-18 15:44:34 -07:00
Steven Allen
8000decac6
feat(lotus-sim): add command to list pending upgrades
2021-06-18 15:44:34 -07:00
Steven Allen
e2f5c494b0
feat: implement lotus-sim
2021-06-18 15:44:34 -07:00