I have an application with the following application delivery chain.
Puma -> JRuby -> Thrift Cassandra
Two questions.
1) will I be able to track a transaction with a single PurePath from JRuby back to the Cassandra instance?
2) Will I be able to inject the UEM agent at the JRuby tier to get UEM information. I know this will not contain the static content from the PUMA web server.
Thanks
Eric
Answer by Repec, E. ·
Yes, great insight, the customer stated that the cassandra calls are done through Thrift which is java. So they are doing exactly what you are stating. Has anyone used the JRUBY sensor? Any idea if this will track a single purepath from a user Action (UEM) through JRuby back to Cassandra?
Answer by Repec, E. ·
According to the customer the Ruby app is running on PUMA, which is not on the supported list, or Ruby is it's own application server. I don't understand Ruby very well.
I believe there is a fundamental difference between Ruby and JRuby since JRuby runs on a JVM. That means you can have Ruby code calling Java methods as well as Java code calling Ruby methods, which also means you could possibly try to instrument that JVM with a Java Agent, not sure what you'd be able to see (maybe you'd see the calls to cassandra if they are Java methods, maybe you won't if they are Ruby) as I am not familiar with the version of java JRuby uses.
PUMA is a very light opensource webserver written in Ruby so I don't think it is supported.
Answer by Andreas G. ·
UEM can be injected on either the Java Application Server (Tomcat, JBoss, ...) or on the Web Server (Apache, IIS). I assume you run your JRuby App in one of the mentioned App Servers. I haven't tried it but you can see whether we are able to inject the UEM Agent on that App Server by enabling the User Experience Sensor Pack on that Tier. Otherwise you can try it on the Web Server
JANUARY 15, 3:00 PM GMT / 10:00 AM ET