Using Rbkit Desktop app

Using Rbkit desktop application

Rbkit ships with a desktop application (available for OSX and Linux), which can be used for connecting to a live application and profiling it.

1212

Rbkit desktop application

Installing Rbkit desktop application

You can download Rbkit application for OSX or Linux from Downloads Page.

Connecting to a Live Ruby application

You can go ahead and press Connect button which will bring up dialog box below. For most locally running applications the pre-populated connection parameters should work, but you can modify them if you want.

507

Connection to a Ruby app

Rbkit uses zeromq underneath and you can try to connect even if you have not started the Server. The desktop application will automatically connect whenever servers comes up.

Charts and object generation views

Once connected you should be able to receive information about your application right away.

Heap and GC charts

As shown in the screen below, you should be able to see heap and GC charts and other GC stats right away.

1212

Heap and GC charts

Object generation information

1212

Object generation information

Please keep in mind - object generation information is not completely reliable, because of lack of information from Ruby runtime about generation of objects before profiling was enabled (Generation information is more easily available on Ruby 2.2.0 - but current rbkit
release does not uses that information)

Taking object snapshots and comparing

You can take full heap snapshot of a process and compare using Rbkit.

1212

You can view Parents of objects or references held by objects.

753

Object parents

You can compare two different snapshots to debug and see - what exactly leaked.

1212