Skip to Content
Product Information
Author's profile photo Ines Ahrens

Cloud Integration – Enabling Trace for Message Processing

It is our goal to continuously improve simulating and troubleshooting message processing in Cloud Integration. With the release of version 2.36 a new log level is introduced which collects message content in addition to the message processing log. This blog describes how this feature can be utilized and the relation to existing log levels which are described in detail in Setting the log level for message processing.

While developing or testing an integration scenario, the message processing log provides information about the status and the steps executed on a configurable level of detail. In scenarios where the message itself gets transformed during processing it can be extremely useful to monitor the message content at different stages as well.

The new log level Trace, like any other log level, can be set for a specific integration flow in the “Log Configuration” section of the “Manage Integration Content” view of the Web-based Monitor (see Product Documentation for details).

Figure 1: Setting the Log Level for an Integration Flow

In the “Monitor Message Processing” view of the Web-based Monitor the log level used when writing the log is visible in both the overview list and the details view which allows selecting the desired log from multiple ones for the same integration flow.

Figure 2: Selecting a Message Processing Log

However, there are some notable differences between Trace and the other log levels.

  • Messages may contain sensitive data. Thus, access to message content is restricted to users having Business Expert role.
  • Messages may contain a large amount of data. To prevent exhaustion of resources tracing expires after some time, typically 10 minutes and the message content collected during this period is retained for typically 1 hour only.

Due to these reasons the message content is not written to the message processing log but stored separately, allowing a different access level and lifecycle.

When tracing is enabled the message processing log will be written at the highest possible detail level (same as for log level Debug) and the message content gets collected and stored. After expiry of trace during an execution of an integration flow the collection of message content is stopped but the message processing log will still be written on the most detailed level. For subsequent executions, the log level falls back to the one which was set for the integration flow prior to Trace.

The time of Trace expiration as well as the previous log level is displayed in “Manage Integration Content” details.

Figure 3: Getting Trace expiry information

It is worth noting that the log level to be used is determined once at each start of processing a message. This can be useful in retry scenarios where the message processing log consists of multiple parts, one for each try. By changing the log level while such an integration flow is in Retry status, log parts can have a different level of detail and even messages can be traced regardless of the log level which was active when the integration flow was started.

For the time being the message content persisted while tracing can be viewed with the Integration Operations Feature in Eclipse only (see View Trace). Future increments will provide a similar feature in Web-based Monitor as well.

SAP recommends to use tracing in non-productive environments only.

I hope you find this new feature useful. Please feel free to comment on this blog in case you have questions or feedback.

Assigned Tags

      9 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Eng Swee Yeoh
      Eng Swee Yeoh

      Hi Ines

       

      Thanks for sharing this update. Noticed that configure-only content are not traceable. Any plans to support that, since prepackaged content are currently one of the main reasons for CPI adoption.

       

      Regards

      Eng Swee

      Author's profile photo Ines Ahrens
      Ines Ahrens
      Blog Post Author

      Hi Eng Swee,

      thanks for your feedback.

      Due to some internal technical restrictions in the Eclipse-based client viewing trace data for configure-only content is currently not possible. Once trace data can be viewed in the Web-based monitor, this limitation will no longer apply.

      Best regards,

      Ines

      Author's profile photo Eng Swee Yeoh
      Eng Swee Yeoh

      Thanks for the update, Ines. Since the feature is planned for WebUI in Q1, wouldn't be too long of a wait. Looking forward to it.

      Author's profile photo Olegs Veliks
      Olegs Veliks

      Hi, Ines.

      When traces will be available in WebUi?

       

      Regards,

      Oleg.

      Author's profile photo Ines Ahrens
      Ines Ahrens
      Blog Post Author

      Hi Oleg,

      we plan to deliver Integration Flow trace feature in Q1 2018.

      Best regards,

      Ines

      Author's profile photo Guy Zoghby
      Guy Zoghby

      I appreciate the info on this new feature.  We often debug integrations by adding "print statements" or writing out intermediate data to a file, but we cannot do this with packaged integrations. So, I think this new "Log Level=Trace" will be very helpful.

       

      Author's profile photo Naresh Dasika
      Naresh Dasika

      Hello Ines,

      I have set the log level to “Trace” and executed integration flow. Post execution, in message monitoring I could see the integration flow is executed successfully and it is decorated with envelope with all run steps details similar to your screen shot.

      But when I click on any “Actions” of any step, I could see only 2 tabs i.e. “Log” and “Configuration”. Other tab-“Message Content(Before)” is missing to see the payload of any step.

      I have tried this on multiple Integration flows and multiple CPI tenants, but still couldn’t see “Message Content(Before)” option under “Actions”.

      Below is the screen shot for reference:

       

      Can you please let me know if there are any additional roles required for the S-user to see this option? or Is it visible only for Enterprise Edition access? Please clarify.

      Thanks in advance,

       

      Regards,

      Naresh Dasika

      Author's profile photo David Nguyen
      David Nguyen

      Thanks for the info Ines. How do we monitor the OData services via OData provisioning?

       

      Thanks

       

      Author's profile photo Lalit Singh
      Lalit Singh

      Hi Ines Ahrens,

      Is there any way to default log level to Trace instead of Info ?

      It will be useful for developer