How transaction traces and http header request works for latest version(23.x) of APM agents?
search cancel

How transaction traces and http header request works for latest version(23.x) of APM agents?

book

Article ID: 280652

calendar_today

Updated On:

Products

CA Application Performance Management (APM / Wily / Introscope)

Issue/Introduction

Need to know how APM Identifies the transaction traces and http header requests send between different microservices for latest version of APM(23.x) agents .

Environment

APM 23.x

Resolution

SOAP header insertion is enabled by default, however, some applications can be impacted by this change. In this case you can disable header insertion as below:

com.wily.introscope.agent.soapheaderread.enabled=false
com.wily.introscope.agent.soapheaderinsertion.enabled=false
com.wily.introscope.agent.httpheaderread.enabled=false
com.wily.introscope.agent.httpheaderinsertion.enabled=false

- If the application works as expected,  you can try to enable http header insertion instead:

com.wily.introscope.agent.httpheaderread.enabled=true
com.wily.introscope.agent.httpheaderinsertion.enabled=true

- If the above doesn't disable the header insertion, then it means that correlation ID was likely inserted by a correlation tracer not supporting the agent properties for disabling SOAP/HTTP header insertion, you can try the below additional manual changes:

NOTE: make sure to backup the mentioned pbd files first.

Option 1) Open the <agent-home>/core/config/httpcorrelation.pbd

Comment out "TurnOn: HTTPCorrelation"

Option 2) Open he <agent-home>/core/config/apm-common.pbd

Comment out the below lines:

#TraceComplexMethodsIfFlagged: SessionBeanTracing CorPreTracer "CorId"
#TraceComplexMethodsIfFlagged: SessionBean3Tracing CorPreTracer "CorId"
#TraceComplexMethodsIfFlagged: EntityBeanTracing CorPreTracer "CorId"
#TraceComplexMethodsIfFlagged: EntityBean3Tracing CorPreTracer "CorId"
#TraceComplexMethodsIfFlagged: MessageDrivenBeanTracing CorPreTracer "CorId"
#TraceComplexMethodsIfFlagged: MessageDrivenBean3Tracing CorPreTracer "CorId"

#TraceOneMethodIfFlagged: HttpServletTypeSpecificServiceTracing service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V CorPreTracer "CorId"
#TraceOneMethodIfFlagged: HTTPServletTracing service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V CorPreTracer "CorId"

Option 3) If the correlation ID is still being inserted in the header, then open <agent-home>/core/config/j2ee.pbd

Comment out the below lines:

#TraceComplexMethodsIfFlagged: EJB2StubTracing CorTracer "CorId"
#TraceComplexMethodsIfFlagged: EJB3StubTracing CorTracer "CorId"
#TraceComplexMethodsIfFlagged: SessionBeanTracing CorTracer "CorId"
#TraceComplexMethodsIfFlagged: SessionBean3Tracing CorTracer "CorId"
#TraceComplexMethodsIfFlagged: EntityBeanTracing CorTracer "CorId"
#TraceComplexMethodsIfFlagged: EntityBean3Tracing CorTracer "CorId"
#TraceComplexMethodsIfFlagged: MessageDrivenBeanTracing CorTracer "CorId"
#TraceComplexMethodsIfFlagged: MessageDrivenBean3Tracing CorTracer "CorId"

Please  Refer KB article :

APM agent is adding the CorID header to the requests 

Please Refer the  below document:

1:About SOA-Specific Agent Properties:

https://techdocs.broadcom.com/us/en/ca-enterprise-software/it-operations-management/dx-apm-agents/SaaS/java-agent/java-agent-extensions/service-oriented-architecture-platform/soa-specific-agent-configuration-properties.html#concept.dita_2781f60cc47e2c56518856b07e40430f39684b76_AboutSOASpecificAgentProperties

 

Additional Information

************************

Please note : we do use libraries which conforms to W3C standards to create/insert correlation data in the HTTP request headers.