Logging and tracing are the tools for identifying what is going on in the system and with particular business processes. Another important aspect of keeping a system in good condition is gathering the information via metrics and statistics. This way, we can identify the troubles a system might have on an operational level. We are also able to explore a system's overall health condition.
To show you how gathering information works, we will use the BPEL process we prepared for the Creating a custom logger in a BPEL process recipe.
The following steps in this recipe will describe how to efficiently review the previously collected metrics and statistics:
Oracle SOA Suite comes with a predefined set of metrics out of the box. The metrics provide valuable feedback from the system. The metrics are divided into two major groups: the first group contains generic metrics and the second one contains process-oriented metrics. We can also set a different time range for data collection, from a few minutes to weeks or months.
There is one additional concept worth mentioning. When you log in to the Oracle Enterprise Manager Console, you'll see the dashboard. The dashboard will show you the health of the system from a single point of view. It is divided into the following sections:
Recent Composite Instances: In this section, you will see the latest business process instances that were started
Deployed Composites: In this section, you will see all the deployments and their corresponding status
Recent Faults and Rejected Messages: This section will show you whether some extraordinary event is requesting immediate attention
Service Engines: This section will show you the number of deployments and the of the number of faults on the deployed modules
Composite Instances: This section will show you the faults in graphical presentation number of instances created since server startup as well as the number of faults originated from the instance run
Since SOA (and BPEL as a part of it) acts as an orchestrating technology, we would also like to know in what condition the system is in at the time of processing requests from outer systems. For that purpose, we can utilize the request processing statistics: