Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PRUG Meetup - RGSoC Team Rubinius


Published on

Published in: Engineering, Technology
  • Be the first to comment

PRUG Meetup - RGSoC Team Rubinius

  1. 1. TeamRubinius ● Rails Girls Summer of Code 2014 ● Memory visualizer tool for Rubinius ● Coaches: Prathamesh Sonpatki, Nishant Modak and Vipul Amler ● Mentor: Dirkjan Bussink ● Students: Akanksha Agrawal and Sana Khan
  2. 2. 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.
  3. 3. Why Rubinius? ● What is unique to Rubinius is that it implements the Ruby core library primarily in Ruby. ● Performance (Sophisticated VM, JIT compiler, generational GC)
  4. 4. ● Source: Ruby under a Microscope, Pat Shaughnessy
  5. 5. Why Memory Analysis? ● Troubleshooting or fixing high memory usage problems. ● Identifying the root cause of memory leaks. ● Analyze memory dump. ● Heap dump is one of the most important analysis tools.
  6. 6. heap_dump ● Memory debugging tool integrated directly into the VM. ● 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 dump.
  7. 7. Query Agent ● Query Agent provides an interface to Heap Dump. ● A socket based API that is implemented directly by the VM. ● Can be used to debug and introspect running programs.
  8. 8. ● The query agent is used with a control console (bin/rbx -Xagent.start and bin/rbx console)
  9. 9. ● Obtaining the Binary Heap Dump
  10. 10. Histogram representation ● Histogram representation of the Binary Heap Dump ● No. of Objects Class Total no. of bytes
  11. 11. Generated JSON ● Generating JSON from the Binary Heap Dump
  12. 12. RGSoC Week-3 Update ● We have spent around a week to study and understand the Json file format that the heap dump generates. ● 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. ● Right now we are learning d3.js - a JavaScript library for data visualization.
  13. 13. Inputs? ● Subscribe to our blog for updates on our progess. ● Follow us on twitter @AkankshaHA and @sanakhan_libre