Module: Heapfrag
- Defined in:
- lib/heapfrag.rb,
lib/heapfrag/version.rb,
ext/heapfrag/heapfrag.c
Defined Under Namespace
Classes: Error
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
Class Method Details
.stat ⇒ Object
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'ext/heapfrag/heapfrag.c', line 92 static VALUE heapfrag_stat(VALUE mod) { struct heap_info info = {}; VALUE rv = rb_hash_new(); size_t total_pages = rb_gc_stat(sym_heap_allocated_pages); rb_objspace_each_objects(count_objects_i, &info); rb_hash_aset(rv, sym_fragmented_pages, INT2FIX(total_pages - info.pages_full - info.pages_free)); rb_hash_aset(rv, sym_pages_total, INT2FIX(total_pages)); rb_hash_aset(rv, sym_pages_seen, INT2FIX(info.pages_seen)); rb_hash_aset(rv, sym_pages_walive, INT2FIX(info.pages_walive)); rb_hash_aset(rv, sym_pages_wdead, INT2FIX(info.pages_wdead)); rb_hash_aset(rv, sym_pages_free, INT2FIX(info.pages_free)); rb_hash_aset(rv, sym_pages_full, INT2FIX(info.pages_full)); rb_hash_aset(rv, sym_alive_objs, INT2FIX(info.alive_objs)); rb_hash_aset(rv, sym_dead_objs, INT2FIX(info.dead_objs)); rb_hash_aset(rv, sym_pages_fill_cdf, rb_ary_new_from_args(6, INT2FIX(info.cdf[0]), INT2FIX(info.cdf[1]), INT2FIX(info.cdf[2]), INT2FIX(info.cdf[3]), INT2FIX(info.cdf[4]), INT2FIX(info.cdf[5]))); return rv; } |