Java Agent DNS lookup may be causing performance issues based on the result of the analysis from thread dumps.
We got java thread dump during our stress test and we found out the most of status for ongoing threads ware TIMED_WAITING (parking).
Most of ongoing threads are in a waiting state because of:
at com.wily.introscope.agent.trace.io.AddressHostNameHelper.getHostName(AddressHostNameHelper.java:64)
We disable DNS lookup in the IntroscopeAgent.profile file:
introscope.agent.dns.lookup.type=disabled
After that the startup process itself is STUCK and we got java another thread dump, and we found out that the processing was delayed in the following thread.
at com.wily.introscope.agent.trace.io.AddressHostNameHelper.getHostName(AddressHostNameHelper.java:68)
So, it seems like introscope.agent.dns.lookup.type=disabled property is not working as expected.
Release : 10.7.0
Component : APM Agents
We know that it is possible to disable reverse DNS lookup as follows:
introscope.agent.dns.lookup.type=disabled
This helped many other customers to reduce CPU utilization/resource overhead.
If the above property does not work in a environment, We have suggested to our customers to set the following values to reduce CPU usage/resource overhead.
Set the two properties in IntroscopeAgent.profile
introscope.agent.dns.lookup.type=separateThread
introscope.agent.dns.lookup.max.wait.in.milliseconds=1
Make sure to stop and start the JVM after the above settings.