For those of you who have had experience with both of these products and or have enough knowledge on them....Is it possible for them to co-exist on the same app server monitoring the same application?
I think the answer is "NO" as far my knowledge and experience goes but I wanted to ask the community anyways to be sure.
Thanks in advance for you feedback
No. You should NOT instrument the same JVM with two different bytecode monitors. It's not supported and can have unintended consequences.
Please refer to JSR163 if you need more details about the API.
So in this case co-existence is not possible,recommended,supported, etc.. In fact, you pretty much answered your own question. But I understand how confirmation is always welcome on technical issues.
Are there other questions about APM and Dynatrace that are of interest at this time? Given the narrow scope of this question, I am guessing no. But asking for my own confirmation :-)
Since this original focused question was answered and not seeing any follow-ups after waiting a decent period of time, I am marking as answered. You may of course follow-up with any questions. But given the narrow scope of the original question, it should not be the case.
Have a pleasant weekend and safe journeys
Sounds good, thanks. I got what I needed out of this question/discussion.
When you say that "You should NOT instrument the same JVM with two different bytecode monitors", I understand that both agents can´t be started for the same Application Server, at the same time, right?
But, what about having both installed, but start only one? My assumption is that one should not interfere with the other one if its not started. But I would like to ask for your confirmation.
And what about AppDynamics? Does this apply for this APM as well?
We´re doing a PoC of the three of them.
I haven't validated, but had once done "Wily Agent" and "Jprofiler Agent" [for Remote profiling] simultaneously and it was success.
But as soon as we ramped up the load to 5 concurrent users, JVM crashed !!
To answer this question - "But, what about having both installed, but start only one? "
Actually after above scenario, unfortunately we were not able to remove the Jprofiler agent from one of the JVM but we were not using or making any entry in the JVM arguments. [not attaching\profiling]Then also we found some JProfiler threads which were blocking our application threads and crashing it during load test.
Hope that answers to your query to some extent.
Thanks for sharing your experience. Quite interesting feedback to take into consideration, indeed!
Remote is not the same as using a bytecode agent.
Doing remote JMX-type monitoring still causes overhead on the JVM so be aware of that.
You can install (lay down the binaries) on the server where the app server is running. You just CAN'T instrument the app server JVM args with all (DynaTrace, APM, or AppDynamics)'s profile.
Meaning, in the startup script of the App Server, you can input the JVM args to instrument ONLY of those 3 agents and not all
for APM Introscope Agent, if the jvm args is:
set CATALINA_OPTS=%CATALINA_OPTS% -javaagent:c:\apache-root\wily\Agent.jar -Dcom.wily.introscope.agentProfile= c:\apache-root\wily\core\config\IntroscopeAgent.profile
Then you cannot add args for DT or AD agent. But your install files for all 3 agents can reside on the server.
Hope this helps
P.S. - I've done the same PoC for those 3 apps so feel free to reach out to me and we can have a chat
It is technically possible as per the specification, but the 2 BCI engines must not step on each other’s toes (otherwise you’re guaranteed nasty consequences). Sometimes it works, sometimes it doesn’t.
However we do not test such combinations, and are therefore unable to offer support such deployments.
Why would you want to do this in the first place? That would generate twice the overhead on your monitored application for 2 products that are broadly-speaking roughly equivalent in terms of functionality?
This is not something we want to do at all. We've had a application that was supposed to get on-boarded with Enterprise Monitoring Tools (CAPC, APM, Spectrum, & SOI) but this application is bundled with DT from the vendor.
We are in discussions with the application team to see what can be done regarding this scenario. We could remove DT instrumentation and replace it with Introscope depending on if the vendor would still honor their enterprise license agreement as well as Support.
I just wanted to get some feedback to have pointers from the experts.