AEM trace not showing outgoing HTTP requests - Java apm-agent

We have currently setup the java apm-agent for one of the aem publisher service . In APM transactions ( in KIbana) we are seeing #Dispatcherservlet#doGet but we are not able to see any trace ( like outgoing HTTP call it has made) in trace sample section under timeline tab . We need this information for creating dashboards .

Kindly help me by informing what configuration needs to be done to get all the traces and calls that has been made in #Dispatcherservlet#doGet thus we can see the full trace. Thanks in advance

Kibana version: 7.14.0

Elasticsearch version: 7.14.0

APM Server version: 7.14.0

APM Agent language and version: Java - 1.25.0

Browser version: Version 92.0.4515.159 (Official Build) (64-bit)

Original install method (e.g. download page, yum, deb, from source, etc.) and version: debian package installation

Fresh install or upgraded from other version? Fresh Install

Is there anything special in your setup? For example, are you using the Logstash or Kafka outputs? Are you using a load balancer in front of the APM Servers? Have you changed index pattern, generated custom templates, changed agent configuration etc. - NGINX load balancer has been used in front of APM-Cluster

Hi @sanju_techie , welcome to the forum!

  • What HTTP client is being used to make the outgoing HTTP requests ?
  • Is it in the list of supported technologies ?

Hi @Sylvain_Juge the AEM service is using Apache sling framework so I believe it is using Apache Http client for forwarding the request, we don't have access to the code as its owned by other team. But we will try to get the info.

There is another thread - APM Java agent startup error with Adobe Experience Manager - #4 by felixbarny where it was asked that whether elastic-apm automatically shows the forwards made by AEM application . I am not sure whether that feature is implemented or not.

Any help is much appreciated.

On further drill down I found out at time of starting the aem application throwing the following error

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
at co.elastic.apm.agent.servlet.ServletApiAdvice.onExitServletService(ServletApiAdvice.java:214)

at com.adobe.granite.rest.assets.impl.AssetContentDispositionFilter.doFilter(AssetContentDispositionFilter.java:97)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:72)

have raised an issue for the same - https://github.com/elastic/apm-agent-java/issues/2104

Can anyone please look into this, it seems to be a genuine issue.

Since agent version 1.18.0, no specific OSGi configurations should be required.
Please try to remove all and any OSGi configuration you added especially for the Elastic agent and retry.
If you still get a NoClassDefFoundError, please share as much as possible from the related stack trace. If you can clear sensitive info from a full debug log and share it, the chances of quickly identifying the root cause will increase.