This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Analyzing Statistics for REST APIs

This section explains how to analyze the performance of REST APIs in EI using WSO2 Analytics. The information displayed includes the overall success and failure rates, the number of successful/failed requests over time, the message latency over time, the list of messages processed during the selected time interval, and the mediation flow that the messages sent to the REST API have passed through.

Use one of the following methods to view information in this page.

  • When you open the EI Analytics dashboard, the Overview page is displayed by default. Click on a REST API in the TOP APIS BY REQUEST COUNT gadget to view information relating to that REST API.
  • Click on the API page and search for the REST API for which you want to view information.

At any given time, this page displays the statistics for a selected time interval. Make sure you select the required time interval in the following bar displayed at the top of the page. If you want to define a custom time interval, click Custom and select the start and end dates of the required time interval in the calendar that appears.

 

API Request Count

View (Example)
DescriptionThis indicates the total number of requests handled by a REST API during a selected time period, and the rate of success within the same period.
PurposeThis allows you to identify the throughput handled by a REST API during different time periods in order to understand the usage patterns the related applications/services. Comparing the success rate during different time intervals helps you to identify any unusual occurrences that have taken place during specific times (e.g., system downtime).
Recommended actionCheck the success/failure rate for a REST API at different time intervals. If the success rate was low only during particular time interval(s), check for unusual activities during that time interval(s) (e.g., system downtime, unavailability of the backend service etc.). If the success rate is low at all time intervals, check the REST API configuration as well as the configurations of other artifacts used by the REST API (i.e. sequences, endpoints etc.) for errors.

Message Count 

View (Example)
DescriptionThis provides a graphical view of the count for both successful and failed messages for a REST API during a selected time interval.
PurposeThis allows you to identify any correlation that may exist between message failure rate, throughput and time.
Recommended actionIf the message failure is particularly high during a specific time, you can check whether any unusual occurrences have taken place during that time (e.g., system downtime, unavailability of the back-end service) and take appropriate action.

Message Latency

View (Example)
DescriptionThe time taken by the selected REST API to complete processing a request sent to it.
PurposeThis allows you to analyse the efficiency of a REST API in terms of the time taken to process messages during a selected time interval.
Recommended actionIf the message latency is high during a specific time interval, view the number of requests handled by the REST API during the same time interval in order to check whether there has been an overload of requests.

Messages

View (Example)
Description

This provides the list of message IDS that were processed by a REST API. Details including the port, time stamp and whether the message is successfully processed are displayed for each message ID. Messages can be sorted in an ascending or descending order based on the message ID, host, start time or status. You can search for specific message IDs, as well as click on a message ID to view more details about it in the OVERVIEW/MESSAGE/<MESSAGE_ID> page.

When you search for information in this table, you need to use the correct search syntax as explained in Searching for Messages.

PurposeThis allows you to identify the individual message IDs that were not successfully processed and click on them to find more details in order to take corrective action.
Recommended action
  • Sort the messages by the status and check whether message failure correlates with specific time intervals. If such a pattern is identified, check whether any unusual activity (e.g., system downtime, unavailability of the backend service) has occurred during that time.
  • Sort the messages by the status and check whether message failure correlates with a specific host. If message failures mainly occur for a specific port(s) investigate further.
  • Click on the message IDs that have failed for further information about them in the OVERVIEW/MESSAGE/<MESSAGE_ID> page.

Message Flow 

View (Example)
DescriptionThis provides a graphical view of the mediation flow through which the messages handled by a REST API have passed.
PurposeThis allows you to understand the different stages of mediation that a selected message ID has passed.
Recommended action
  • Check whether the message flow is correctly configured based on your requirement, and make modifications if required.
  • Click on different mediators included in the message flow to view more details about them.