TEC1750412: How do I monitor Adobe Experience Manager using APM Introscope Java Agent ?

Document created by KulbirNijjer Employee on May 25, 2016Last modified by SamCreek on May 25, 2016
Version 2Show Document
  • View in full screen mode

Author: KulbirNijjer

Document ID:  TEC1750412

Last Modified Date:  11/10/2014

  • Products
    • CA Application Performance Management
  • Releases
    • CA Application Performance Management:Release:CA APM 9.6
    • CA Application Performance Management:Release:9.6
    • CA Application Performance Management:Release:9.5
    • CA Application Performance Management:Release:9.1.0
    • CA Application Performance Management:Release:9.1.1
    • CA Application Performance Management:Release:CA APM 9.5
  • Components





Application Server: Adobe Experience Manager (based on Adobe CQ Server)

Version: 5.6.0

JVM version: 1.6



Adobe Experience Manager(AEM) is an Publishing Application built on top of Adobe CQ platform.

To monitor AEM with Introscope Java Agent, make the following changes to the Agent\Application Server configuration.


Step 1:

Locate sling.properties file in Application Server installation directory and add the line below so Sling OSGI classes can properly locate Agent code



Step 2:

Create a new pbd, name it aem.pbd, and add the following directives:

SkipClassForFlag: org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase JSPTracing

IdentifyInheritedAs: org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase JSPTracing

SkipClassForFlag: org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase HTTPServletTracing


Step 3:

Add the aem.pbd to the agent directive list property in IntroscopeAgent profile:



Important: Step 2 and 3 are critical. Otherwise there will be lot of ClassNotFound Exceptions similar to the one shown below in the Appserver error logs due to agent instrumenting HttpJspBase class, potentially preventing the application from working properly

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:247)

at com.wily.introscope.agent.trace.servlet.ServletHelperFactory.getServletHelper(ServletHelperFactory.java:39)

at com.wily.introscope.appmap.agent.trace.hc2.AppMapApplicationNameFormatter.quickGetComponentName(AppMapApplicationNameFormatter.java:62)


       at org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

and also Agent logs will have the following error:

[ERROR] [IntroscopeAgent.hc2.AppMapApplicationNameFormatter] An error occurred getting the application name: java.lang.NullPointerException


Note:  Without custom pbd directives, most of the JSP code in Adobe EM will not be instrumented\reported by the Wily Agent.



Search the Entire CA APM Knowledge Base