Actions
Feature #17103
closedAdd a :since option to ObjectSpace.dump_all
Feature #17103:
Add a :since option to ObjectSpace.dump_all
Status:
Closed
Assignee:
-
Target version:
-
Description
Patch: https://github.com/ruby/ruby/pull/3368
This is useful for seeing what a block of code allocated, e.g.
GC.start
GC.disable
gc_gen = GC.count
ObjectSpace.trace_object_allocations do
# run some code
end
allocations = ObjectSpace.dump_all(output: :file, since: gc_gen)
GC.enable
GC.start
retentions = ObjectSpace.dump_all(output: :file, since: gc_gen)
For context, this is what I do in https://github.com/Shopify/heap-profiler, except that I have to dump the entire heap three times and then do a diff. This new API would allow me to dump the entire heap only once and then do two much-faster single-generation dumps without doing the diff.
Actions