But any transaction started via i.e. http-remoting ( methods called from webapps running in seperate tomcats ) or child transaction are not catched and gathered.
Is there a configuration missing ? Is remote invocation not supported ? Should we debug agent ?
If not support, can we start a transaction/ trace manually ?
Yes, supporting WildFly 8 means in this case that the agent is continuously tested to instrument the Servlet API 3.x on WildFly. I agree that this should be a bit more clear from the supported technologies page.
@Frintrop maybe you already realized that, but worth the mention- you can add much more interesting support for you cross-tomcat ejb communication than just creating transactions on the server side. You can manually add capability to do distributed tracing, so that the transactions recorded separately on the client side and on the server side will be correlated into traces, representing actual application flows.
In order to do that, we have the injectTraceHeaders (client side) and startTransactionWithRemoteParent (server side) APIs.
Maybe you can use EJBClientInterceptor#handleInvocation together with EJBClientInvocationContext#getContextData in order to achieve that.
I never tried it this way
From a quick look, those APIs seems fit for the task, but I can't really tell without taking a deeper look and try. Generally speaking, if you have the ability to intercept calls on both sides and access to set/read metadata, you should be able to pull this off.
If you DO try it out, we will love to hear about it.
Good luck.
I created an ejb interceptor which works for us now. An idea to better check for noop transactions ? instanceof is not working as NoopTransaction.class or NoopTransaction.INSTANCE will not exposed in eclipse.
You can check whether transaction.getId or transaction.getTraceId returns a valid ID (meaning valid transaction) or an empty string (noop transactions).
BTW, since a Transaction is a kind of a Span, you can replace
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.