● Rails Girls Summer of Code 2014
● Memory visualizer tool for Rubinius
● Coaches: Prathamesh Sonpatki, Nishant Modak and
● Mentor: Dirkjan Bussink
● Students: Akanksha Agrawal and Sana Khan
What is Rubinius?
● Rubinius is an alternative implementation of Ruby that
seeks to "provide a rich, high-performance
environment for running Ruby code."
● Various other implementations of Ruby: MacRuby,
IronRuby, JRuby, MRI (CRuby) and more.
● What is unique to Rubinius is that it implements the
Ruby core library primarily in Ruby.
● Performance (Sophisticated VM, JIT compiler,
● Source: Ruby under a Microscope, Pat Shaughnessy
Why Memory Analysis?
● Troubleshooting or fixing high memory usage
● Identifying the root cause of memory leaks.
● Analyze memory dump.
● Heap dump is one of the most important analysis
● Memory debugging tool integrated directly into the
● Heap Dump provides the ability to write out the entire
object graph to disk in a stable, portable format.
● The heap dump tool can read and interpret this heap
● Query Agent provides an interface to Heap Dump.
● A socket based API that is implemented directly by
● Can be used to debug and introspect running
● The query agent is used with a control console
(bin/rbx -Xagent.start and bin/rbx console)
● Histogram representation of the Binary Heap Dump
● No. of Objects Class Total no. of bytes
● Generating JSON from the Binary Heap Dump
RGSoC Week-3 Update
● We have spent around a week to study and
understand the Json file format that the heap dump
● We are looking forward to utilizing the information
from this json file and displaying it in a graphical way
which should enable the user to explore the memory
usage of their application.
for data visualization.
● Subscribe to our blog for updates on our progess.
● Follow us on twitter
@AkankshaHA and @sanakhan_libre