You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hello there,
recently @headius visited our office, and we discussed alienist, and how this gem analyzes heap dump, serializes dump into json, and sends it to viewer. we are building a similar opensource tool, but for cruby/mri.
rbkit gem is a c-extension which will be plugged into apps. it exposes interface to start/stop profiling, start gc, take heapdumps. it uses msgpack to compress data, and zeromq to sent compressed data over the wire. client side app is a desktop app, which receives data, decompresses it, and shows nice stats. currently client is written in QT/C++, but we have plans to use electron/react to rewrite frontend.
protocol is documented here: https://github.com/code-mancers/rbkit/blob/master/docs/protocol.md@headius suggested that we can work together on this protocol, and optimize it further, so that we can use this protocol as a standard across jruby/cruby. this way community can write serveral front-end tools.
@iffyuva yeah I think there is some interest in hooking into a protocol like this. The current analyzer alienist is using is only a post-mortem analyzer and lacks anything related to sampling or GC (it has not been written around dumping any of that info anyways). With that said their is a common subset of information which is needed about the objects being processed.
My main issue I have run into to date is reassembling heap dump from an Java Object layout and recomposing the Ruby layout. As a post-mortem utility it is somewhat ok but a pretty slow process.
We could also possibly provide some of this live info at some point too since JVM has lots of hooks. We would also have the benefit that we could emit the Ruby info directly and not have the post-mortem reassembly of Java layout back to valid Ruby info. So it should be much faster.
hello there,
recently @headius visited our office, and we discussed alienist, and how this gem analyzes heap dump, serializes dump into json, and sends it to viewer. we are building a similar opensource tool, but for cruby/mri.
rbkit gem is a c-extension which will be plugged into apps. it exposes interface to start/stop profiling, start gc, take heapdumps. it uses msgpack to compress data, and zeromq to sent compressed data over the wire. client side app is a desktop app, which receives data, decompresses it, and shows nice stats. currently client is written in QT/C++, but we have plans to use electron/react to rewrite frontend.
protocol is documented here: https://github.com/code-mancers/rbkit/blob/master/docs/protocol.md @headius suggested that we can work together on this protocol, and optimize it further, so that we can use this protocol as a standard across jruby/cruby. this way community can write serveral front-end tools.
do let me know what you think. thanks.
/cc @headius @emilsoman @kgrz @gnufied
The text was updated successfully, but these errors were encountered: