When enabling Agent collection, some application may start to throw below exception under application logs:
java.lang.ClassNotFoundException: com/wily/introscope/agent/intelligent/detection/tracers/NIOSocketBoundaryDetectionHelperTracer
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at com.wily.introscope.agent.extension.DynamicClassLookup.loadDynamicClassEntry(DynamicClassLookup.java:230)
at com.wily.introscope.agent.trace.TracerFactoryLoader.createTracerFactory(TracerFactoryLoader.java:66)
at com.wily.introscope.agent.trace.TracerAdministrator.createTracerFactories(TracerAdministrator.java:699)
at com.wily.introscope.agent.trace.TracerAdministrator.createProbeInformation(TracerAdministrator.java:662)
at com.wily.introscope.agent.trace.TracerAdministrator.access$0(TracerAdministrator.java:649)
at com.wily.introscope.agent.trace.TracerAdministrator$ProbeInformationCreator.IProbeInformationCreator_createProbeInformation(
TracerAdministrator.java:806)
at com.wily.introscope.agent.trace.ProbeLookup.getProbeInformation(ProbeLookup.java:102)
at com.wily.introscope.agent.trace.TracerAdministrator.getProbeInformation(TracerAdministrator.java:639)
at com.wily.introscope.agent.trace.TracerAdministrator.loadParameterizedTracer(TracerAdministrator.java:456)
at com.wily.introscope.agent.enterprise.EnterpriseAgent.IAgent_loadParameterizedTracer(EnterpriseAgent.java:999)
at com.wily.introscope.agent.AgentShim.ProbeBuilderEntryPoint_loadParameterizedTracer(AgentShim.java:1270)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java)
at com.bea.core.netio.provider.noblock.NonBlockingConnectionProvider.read(NonBlockingConnectionProvider.java:393)
at com.bea.core.netio.internal.AbstractConnectionImpl.read(AbstractConnectionImpl.java:117)
at com.bea.core.netio.internal.SocketAcceptor.readyToRead(SocketAcceptor.java:63)
at com.bea.core.netio.internal.ListenerHolder.run(ListenerHolder.java:71)
at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:204)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
java.lang.ClassNotFoundException: com/wily/introscope/agent/intelligent/detection/tracers/NIOSocketBoundaryDetectionHelperTracer
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at com.wily.introscope.agent.extension.DynamicClassLookup.loadDynamicClassEntry(DynamicClassLookup.java:230)
at com.wily.introscope.agent.trace.TracerFactoryLoader.createTracerFactory(TracerFactoryLoader.java:66)
at com.wily.introscope.agent.trace.TracerAdministrator.createTracerFactories(TracerAdministrator.java:699)
at com.wily.introscope.agent.trace.TracerAdministrator.createProbeInformation(TracerAdministrator.java:662)
at com.wily.introscope.agent.trace.TracerAdministrator.access$0(TracerAdministrator.java:649)
at com.wily.introscope.agent.trace.TracerAdministrator$ProbeInformationCreator.IProbeInformationCreator_createProbeInformation(
TracerAdministrator.java:806)
at com.wily.introscope.agent.trace.ProbeLookup.getProbeInformation(ProbeLookup.java:102)
at com.wily.introscope.agent.trace.TracerAdministrator.getProbeInformation(TracerAdministrator.java:639)
at com.wily.introscope.agent.trace.TracerAdministrator.loadParameterizedTracer(TracerAdministrator.java:456)
at com.wily.introscope.agent.enterprise.EnterpriseAgent.IAgent_loadParameterizedTracer(EnterpriseAgent.java:999)
at com.wily.introscope.agent.AgentShim.ProbeBuilderEntryPoint_loadParameterizedTracer(AgentShim.java:1270)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java)
at com.tangosol.coherence.component.net.TcpRing.heartbeat(TcpRing.CDB:23)
at com.tangosol.coherence.component.net.TcpRing.heartbeatBuddies(TcpRing.CDB:9)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onTimerRunning(ClusterService.CDB:61)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onNotify(ClusterService.CDB:19)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:662)
Any CA Application Performance Management Java Agent release.
First reason is the PDBs that is being injected, when you try to monitor an in house application or any other that is not homologated by Broadcom, we usually use a "StandAloneAgent" which instrument a "default-typical.pbl".
This "default-typical.pbl" has several java classes that will be injected into desired application for monitoring propose, sometimes certain traces that is inside "default-typical.pbl" do not have into desired monitored application, it cause above error message, we need to disable certain traces to stop these message.
In this case we have to disable the SOCKET tracing, that is causing the problem.
1) Confirm what PBL and PBD is being utilized for the Agent by accessing the section "# Directives Files" under our "IntroscopeAgent.profile".
2) In our example was the "default-typical.pbl", If you open this PBL file under Agent_home >> Core >> Config path you will see:
#######################
# Directives Files
#
# One directives file name per line. Relative names
# are resolved against the location of this file.
# ================
toggles-full.pbd
required.pbd
apm-common.pbd
java${JVMCOMPATIBILITY}socket.pbd
java2.pbd
j2ee.pbd
jvm.pbd
oraclejdbc.pbd
taglibs.pbd
struts.pbd
sqlagent.pbd
errors.pbd
jsf-toggles-full.pbd
jsf.pbd
biz-trx-http.pbd
appmap.pbd
appmap-ejb.pbd
#bizrecording.pbd
di.pbd
intelligent.pbd
endUserEndpoints.pbd
httpcorrelation.pbd
httpbackendmetrics.pbd
appmap-http.pbd
jms.pbd
3) Open the PSB file named "toggles-typical.pbd", also inside Agent_home >> Core >> Config path.
4) Now to disable Socket tracing, comment below rows under this file:
TurnOn: ManagedSocketTracing
TurnOn: SocketTracing
TurnOn: NIOSocketTracing
TurnOn:NIOSocketSummaryTracing
TurnOn: NIOSelectorTracing
TurnOn: NIODatagramTracing
TurnOn: NIODatagramSummaryTracing
5) Save this file.
6) Restart monitored application.