JRuby: Performance Plus the Whole Java World on a Silver Platter by Peter Giacomo Lombardo August 21, 2014
Filed under: Performance Monitoring
We’re happy to announce that we just recently released our first java platform gem with JRuby instrumentation for AppNeta Traceview. It’s been exciting and at times a bit challenging but we’re very happy to now offer full JRuby support for application performance monitoring.
We found JRuby to be very interesting. You have this hard-core team of very smart guys who put together this alternative language implementation to MRI Ruby – no easy feat by any means and at it’s core, it’s based off of the JVM and inherits all it’s benefits. Most often noted is true parallelism on multi-core processors (with no global interpreter lock). We’ve all already heard and some of us know first-hand that JRuby is fast.
Instead here, we would like to cover a less mentioned fact: what JRuby brings to the Ruby community.
The Java Arsenal
When using the JRuby, you can access and utilize any Java library. Think about that for a second. All of the Java libraries ever written by the Java community are now transparently available to you via JRuby. This adds a huge number of Java libraries (84k per Maven Central Repository) that Ruby developers can now call upon. It’s given that there is some overlap and some Java libraries already have gem wrappers but the mere ability to do this with JRuby is a huge contribution to the Ruby community. And on top of all that you can even access Scala code.
Image from NodeHead
JRuby brings a huge amount of resources and choices to Ruby developers. They’ve put together a great set of documents in the JRuby Wiki.
Of course there are other tools to import external libraries into your language platform such as Swig, Ruby FFI or Ruby DL but none do so as automatically and transparently as JRuby does for Java libraries.
So we say thanks and great job to the JRuby team! We believe JRuby still doesn’t get the mainstream attention that it deserves. Try it out – you won’t regret it.
With this new JRuby instrumentation (that also utilizes our existing Java instrumentation), you get performance data for all of the supported libraries in the TraceView oboe gem plus everything that our Java instrumentation supports: Performance data for a total of 57 libraries, frameworks, webservers and metrics in all!
Are you already using JRuby and importing Java libraries? Let us know – we’d love to hear about more real world use cases!
If you don’t have a Traceview account yet, get yours now – it’s free!
The new oboe gems are available on Rubygems now!