Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to monitor SAP PI/PO transactions


Hi team.

We  are implementing appDynamics in order to monitor end to end transactions in SAP PI/PO (Process Integration/Process Orchestration NW 7.5).

The scenario is: Source System->SAP PI/PO->target system.

We would like to know which classes and methods have to be set in order to extract messages and processing times for specific interfaces, where an interface is an end to end configuration in SAP PI/PO because there can be several of them (more than 500 for our case).

SAP PI/PO has a lot of out-of-the-box classes wich are internally invoked at  runtime and we are not clear how if this requerement can be done with appDynamics.

Thank you in advance.


Community Manager

Hi @Oscar.Martinez,

Thanks for asking your question on the Community. I wanted to share a few AppD Docs pages if you have not seem them yet.

I hope this info helps, let me know.



Ryan, Cisco AppDynamics Community Manager

Found something helpful? Click the Accept as Solution button to help others find answers faster.

Liked something? Click the Thumbs Up button.

Check out Observabiity in Action

new deep dive videos weekly in the Knowledge Base.


Hi Ryan.
Thanks for your reply. I have seen those documents but there is not details about how to collect particular data in SAP PI/PO.
There is configuration for a general monitoring but our case is to collect and extract specific messages (XML payloads and processing times) in PI/PO for specific business procesess.

Best regards!

AppDynamics Team

Hola Oscar! I'm the SAP Practice Lead at AppDynamics, which means I help implement SAP monitoring at many customers. Let me share with you my PO transaction rule:

We create a transaction detection rule of the type Servlet, but we split it by the POJO class and method. In most implementations we can extract the interface name from the Action parameter, but we might need to trim it.

Type: Servlet

HTTP Request Match Criteria: URI is not empty

Split Transactions using payload:

  • Split mechanism: POJO Method Call
  • Class name:
  • Method name: process_sender
  • Number of arguments: 3
  • Argument Index: 2
  • Getter chain: getAction().toString() (trim if necessary)


This will give you Business transactions split by the interface (action parameter). If you would like more good practices, reach out to your appd representative and ask for some consultant hours

Silvia Moreno

Hi @Silvia.Moreno 
Thank you for that information. It is the direction where we are going.
1. To collect data for specific interfaces. We have more than 500 interfaces but we want to collect data for an specific business process and only 5-10 interfaces are involved so the other ones are not relevant at this moment.
2. For those specific interfaces to get the XML payload in order to extract some fields to correlate the message with other ones outside of SAP PI/PO.

I have not seen documentation for those use cases so let me check the way to ask for consultation as you mentioned. 


Hi @Oscar.Martinez,

The rule I provided will indeed split the transactions by the 500 interfaces. To keep only the important ones you have 2 options:
- Add a filter in the Servlet rule to collect only the 5-10 - might be hard to create such rule
- Manually exclude the ones that are not interesting in the Business Transaction list, keeping only the important ones.
2. You should already see PI/PO data collectors in the snapshots > Data collectors. They are retrieved automatically.

Best regards,

Silvia Moreno