Tracing is an important diagnostic functionality required to investigate a problem in a component. Sterling Selling and Fulfillment Suite supports tracing for many critical components. As part of 9.1-FP34, traceability is enhanced to include the following components:
- Transaction tracing
- User tracing
- Configuration data collection and master data collection during API execution
- First failure data capture during API execution
Resolving the problem
You can use tracing to investigate a problem in an application, without disturbing your setup. When tracing is enabled for a component in an application, messages related to the component and the transactions by the component are captured in a log file. The messages in the log file can help you troubleshoot the underlying problem.
IBM Sterling Selling and Fulfillment Suite supports tracing for the following components:
- API – Trace a standard Sterling Selling and Fulfillment Suite API.
- User Exit – Trace an implemented user exit.
- Service – Trace a service created using the service builder.
- Agent – Trace an agent.
- Application Console – Trace the user interface layer of the application console.
- Web UI framework Console – Trace the web user interface framework console.
- Health Monitor - Trace a health monitor.
- Transaction Tracing – Trace a transaction.
- User Tracing – Trace a specific user.
Transaction tracing allows you to set the trace level for a specific invocation of an API or a service. You can enable transaction tracing in the System Management Console. After enabling transaction tracing, you can pass an XML attribute, TransactionTracingLevel, in the root element of the API or the service input. The tracing attribute defines the level of tracing applicable for the transaction. With transaction tracing:
- You do not have to enable tracing for different APIs and services. Once tracing is enabled for a specific transaction, all APIs and services related to that transaction are traced.
- You can control specific transactions that are being traced. Therefore, log files are not flooded with verbose trace log in a scenario where multiple users or processes are using same API or services simultaneously.
User tracing allows you to trace APIs and services based on the transactions or tasks performed by a user. You can enable user tracing at the following levels:
- You do not have to enable tracing for all the APIs that are invoked in a particular transaction. Once tracing is enabled for a particular user, all APIs related to the transactions performed by the user are traced.
- Log files are not flooded with verbose trace log in a scenario where multiple users or processes are using the same API simultaneously.
Configuration data collection and select master data collection during API execution
Tracing provides an option to collect useful configuration and master data that is accessed during the execution of an API. The configuration data and master data which are read during the execution of an API, is collected and captured in a standard log file in form of an XML.
You can enable tracing by specifying properties in the customer_overrides.properties file. Based on the set properties, data is collected and logged in a standard log file. The configuration data and master data in the trace results can be used to analyze issues, simulate errors, and predict behavior of an API.
First Failure Data capture during API execution
First failure data capture is a general term applied to the set of diagnostic information that the application or product captures automatically when an error occurs. The captured data helps in analyzing and debugging issues which are not easily reproducible.
When an API fails, the configuration data and master data that is read during the execution of an API, along with the API input, and the error details are captured in a separate log file. You can enable first failure data capture by specifying properties in the customer_overrides.properties file. This setting will capture some crucial data when an API throws an exception.
For information on how to enable user and transaction tracing and data capture during API execution, see the Sterling Selling and Fulfillment Suite Information Center