Commit f4f130f
Change to streaming out the heap snapshot data (#1)
* Streaming the heap snapshot!
This should prevent the engine from OOMing while recording the snapshot!
Now we just need to sample the files, either online, before downloading,
or offline after downloading :)
If we're gonna do it offline, we'll want to gzip the files before
downloading them.
* Allow custom filename; use original API
* Support legacy heap snapshot interface. Add reassembly function.
* Add tests
* Apply suggestions from code review
* Update src/gc-heap-snapshot.cpp
* Change to always save the parts in the same directory
This way you can always recover from an OOM
* Fix bug in reassembler: from_node and to_node were in the wrong order
* Fix correctness mistake: The edges have to be reordered according to the
node order. That's the whole reason this is tricky.
But i'm not sure now whether the SoAs approach is actually an
optimization.... It seems like we should probably prefer to inline the
Edges right into the vector, rather than having to do another random
lookup into the edges table?
* Debugging messed up edge array idxs
* Disable log message
* Write the .nodes and .edges as binary data
* Remove unnecessary logging
* fix merge issues
* attempt to add back the orphan node checking logic
---------
Co-authored-by: Nathan Daly <nathan.daly@relational.ai>
Co-authored-by: Nathan Daly <NHDaly@gmail.com>1 parent 7b758dd commit f4f130f
File tree
6 files changed
+441
-183
lines changed- src
- stdlib/Profile
- src
- test
6 files changed
+441
-183
lines changed
0 commit comments