cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not a customer? Start a free trial

Click the Start a free trial link to start a 15-day SaaS trial of our product and join our community as a trial user. If you are an existing customer do not start a free trial.

AppDynamics customers and established members should click the sign in button to authenticate.

Java (Java Agent, Installation, JVM, and Controller Installation)

Transactions correlation for WSO2 ESB (Apache Synapse)

rajkumarr
Adventurer

Transactions correlation for WSO2 ESB (Apache Synapse)

I can see from this document [1] that Appdynamics out of the box supports transaction correlation for Apache Synapse. WSO2 ESB is built on top of Apache Synapse, so it should work for WSO2 ESB as well. As mentioned in [1], I've enabled "enable-soap-header-correlation", then I can see in the controller dashboard that multiple tiers (different WSO2 products such as WSO2 API Manager and WSO2 ESB) are connected, I can see business transactions and snapshots. But the call graph includes only the top level class, it doesn't show all the classes/methods that follows the top level class. Is there anything else I need to configure to view the entier call graph?

 

See these screenshots. 

appd-wso2.PNGappd-wso2-callgraph.PNG

[1] https://docs.appdynamics.com/display/PRO42/Supported+Environments+and+Versions

By replying you agree to the Terms and Conditions of the AppDynamics Community.
Transactions correlation for WSO2 ESB (Apache Synapse)
5 REPLIES 5
rajkumarr
Adventurer

Also, what entry/exit points you are using internally for Apache Synapse? The proper entry point would be receive() method of org.apache.synapse.core.axis2.SynapseMessageReceiver and exit point would be send() method of org.apache.synapse.core.axis2.Axis2FlexibleMEPClient

 

Can you please let me know what entry/exit points you are using internally, if you say transaction correlation is supported out of the box for Apache Synapse?

 

Regards

Rajkumar Rajaratnam

Peter.Holditch
Moderator

It appears that the whole duration of the request processing was 7ms in your case, and it contained no backend calls or monitored thread handoffs.

 

It is likely that you need to include some classes in your fork-config configuration to see thread handoff activity.  What is actually happening downstream of these requests arriving?

 

Warm regards,
Peter



Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.
rajkumarr
Adventurer

Hi Peter,

 

I've mocked an API in WSO2 ESB and exposted it through WSO2 API Gateway. Both are different tiers. When WSO2 API Gateway receives requests from clients, it authenticates the client (OAuth), applies throttling and passing the request to WSO2 ESB. When WSO2 ESB receives the request, it reads the query parameter, does some calculation in javascript and returns the response. Hence, I should be able to see the call graph of WSO2 API Gateway and also there should be an exit call from WSO2 API Gateway to WSO2 ESB. Any idea why I'm not seeing any of these?

 

Regards

Rajkumar Rajaratnam

Peter.Holditch
Moderator

This is almost certianly due to additional fork-config configuration being required to track the async transactions within the API gateway, and perhaps some additional entry/exit configuration being required.

What version of WSO2 are you using?  The documentation specifically mentions v4.7 in the support matrix.

 

You might be best opening a support ticket so the team can help you investgate this.



Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.
rajkumarr
Adventurer

Hi Peter,

 

The doc [1] says that all classes not excluded are by default included. I haven't modified my app-agent-config.xml and I can see that the default "excludes" configuration doesn't exclude any WSO2's or Synapse's classes or packages. Still you want me to explictly add WSO2's and Synapse's classes/packages in "includes" configuration?

 

[1] https://docs.appdynamics.com/display/PRO44/Enable+Thread+Correlation+for+Java

 

Regards

Rajkumar Rajaratnam