Unable to instrument WebLogic Server with APM Java Agent

I'm getting below error after using new agent file.

2018-08-23 12:04:40.072 [[ACTIVE] ExecuteThread: '10' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG co.elastic.apm.impl.ElasticApmTracer - startTransaction '' 4609ba3f2808f709c90301028304f181 {
2018-08-23 12:04:40.072 [[ACTIVE] ExecuteThread: '10' for queue: 'weblogic.kernel.Default (self-tuning)'] TRACE co.elastic.apm.impl.ElasticApmTracer - starting transaction at
java.lang.RuntimeException: this exception is just used to record where the transaction has been started from
at co.elastic.apm.impl.ElasticApmTracer.startManualTransaction(ElasticApmTracer.java:142)
at co.elastic.apm.impl.ElasticApmTracer.startTransaction(ElasticApmTracer.java:127)
at co.elastic.apm.servlet.ServletTransactionHelper.onBefore(ServletTransactionHelper.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:680)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:247)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3679)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3649)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2433)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2281)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2259)
at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1691)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1651)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270)
at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:406)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)
2018-08-23 12:04:40.097 [[ACTIVE] ExecuteThread: '10' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG co.elastic.apm.impl.ElasticApmTracer - } endTransaction 'HEAD' 4609ba3f2808f709c90301028304f181

This is not an error, it just prints out the current stacktrace whenever a transaction is started and stopped. Note the exception message is this exception is just used to record where the transaction has been started from. It is also only logged on TRACE level. I suggest setting the log level to DEBUG or INFO so that you don't see those "exceptions".

I didn't see any errors with the new agent file, but there is no metrics captured when i login to Kibana > APM. Any ideas what to check for?

Could you attach a complete debug log (without trace) with the current snapshot?

FWIW, another user reported that the agent seems to work for him with WebLogic 12.2.1.3.0.

With the updated Agent, we did see the sql queries related data. but our application has lots of EJB calls, and it doesn't show any details about. Can you help to check it?

Do you have any list of technologies or the instrumentation it supports currently? Is there a way to add custom instrumentation for user defined classes/methods?

That's great to hear!

Currently, EJB calls are not supported. Here is a list of all currently supported technologies. Also, note the supported technologies in the current development branch.

There certainly is! Check out the public API documentation.

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.