API statistics are provided in both the API Publisher and the API Store. For instructions on how to set up Analytics, see Configuring APIM Analytics. Once Analytics is set up, follow the instructions below to view statistics through the API Publisher and API Store.
First, invoke a few APIs to generate traffic and see the statistics.
The following gadgets on API Manager statistical dashboards display real runtime statistics even when Analytics is not set up (as described in Configuring APIM Analytics).
- Published APIs Over Time
- Applications Created Over Time
- Developer Signups Over Time
- Subscriptions Created Over Time
- API subscriptions
The other gadgets you see on the API Manager statistical dashboards without setting up Analytics are just samples and are not based on real runtime statistics of your server.
Please note that our data summarization logic summarizes the data on per day basis.
The sections below explain how to access the statistical dashboards:
API Publisher statistics
The gadgets that display publisher statistics can only be viewed via user IDs that have permission to create APIs. For more information, see Managing Users and Roles.
Log in to the API Publisher. Anyone who can create and/or publish APIs can view API-level usage and subscription statistics by clicking on a selected API and referring to its Versions and Users tabs.
Given below are the statistical dashboards that are available from the Analytics menu.
In each of the dashboards, you can choose to view all APIs or if you are an API creator, only APIs you have created. You can also select the time period for which you wish to view the statistics.
Please note that although the UI shows hour and time range based granularity for filtering statistics, it is not support in the vanilla pack. It is supposed to show statistics only for daily basis granularity and above. Hence hour/time range filtering capability was removed via a WUM update dated 10th January 2018 (10-01-2018). For more information on updating WSO2 API Manager, see Using WSO2 Update Manager in the WSO2 Administration guide.
Several examples of usage and performance statistics are given below:
Created APIs Over Time
Number of APIs Published over the Time period is denoted in the Created APIs Over Time graph.
API Last Access Times
API Usage by Resource Path
Number of invocations done for the API by resources is denoted in API Usage by Resource Path tabular view.
Usage by Destination
Number of Accesses of the APIs by the destinations is denoted in API Usage by Destination tabular view.
API Usage Comparison
Number of invocations for an each API as a combination of all resources and all versions of each API is denoted in API Usage Comparison graph.
API Throttled Requests
The total count of the successful request count and throttled request count towards an API over time is denoted in App Throttled Requests graph.
A successful invocation is when API receives the expected response. If it results any kind of an error response that invocation is called a faulty invocation. The Total number of invocations of each API as a combination of successful and faulty invocations are denoted in Faulty invocations graph.
API Latency Time
The execution time of the APIs as a combination of Throttling, In Mediation, Out Mediation, Backend response time, Authentication time is denoted in API Latency Breakdown.
You have the ability to see a comparison view of the latencies as well.
Please note that the total time is not summation of other latency times. Total time is all the time taken for the API call. But here we have not displayed the latency time for other handlers and mediators(cors, stat handler and response class mediator). So Total time will not necessarily be equal to the summation of other latency times shown in the graph.
API Usage Across Geo Locations
The data script that updates statistics related to geo locations is executed once a day. Therefore, at a given time, some of the statistics generated within the last 24 hours may not be displayed in this gadget.
API Usage Across User Agent
The proportional distribution of the the usage (invoking) of each API differentiated by the User Agent HTTP Header recived in requests towards the API is denoted in API Usage Across User Agent graph.
App Throttled Requests
The successful request count and throttled request count of each API invoked by each application is denoted in App Throttled Requests graph.
Applications Created Over Time
The number of Application created over the time period is denoted in the Applications Created Over Time graph.
Subscriptions created for each of the APIs as a distribution of API versions is denoted in the Overall API Subscriptions graph.
Developer Signups Over Time
Number of developers who signed Up to the API Store over time is denoted in Developer Signups graph.
Subscriptions Created Over Time
Number of subscriptions created over the period of each API is denoted in the API Subscription Over Time graph.
You first need to select the API for which you wish to view subscriptions.
API Store statistics
Log in to the API Store. You can self-subscribe to the store. Next, click the Analytics menu.
Given below are the statistical dashboards that are available:
- API Usage: The usage of the API per application
- Top Users: Users who make the most API invocations per application and the number of Registered Users per Application.
- Resource Usage: Usage of an API and from which resource path per application
- Faulty Invocations: Number of faulty API invocations per application
In a faulty API invocation, the message is mediated though the
faultsequence. By default, the API Manager considers an API invocation to be faulty when the backend service is unavailable.
Several examples of usage and performance statistics are given below:
API Usage per Application
The number of invocations of each API by each application is denoted in API Usage per Application graph.
Top Users per Application
The users who have sone the largest number of API calls by applications are denoted in Top Users per Application graph.
Note that the Registered Users for Application statistics takes the number of users shared each of the Application. To enable application sharing among users in same organization refer Sharing Applications and Subscriptions.
And for the users to be counted in the statistics in this graph, they should have to generate access tokens using Password Grant type.
Resource Usage per Application
Usage of resources of the APIs by each application is denoted in Resource Usage per Application graph.
Faulty Invocations per Application
The Total number of invocations by each application which are unsucessful (faulty) are denoted in Faulty invocations per Application graph.
Admin Portal Statistics
Log in to the Admin portal (https://localhost:9443/admin). API Availability is the only statistical view that exists in the admin portal. Admin users can view API Availability statistics by navigating to ANALYTICS > API AVAILABILITY.
Availability of APIs
The status of the APIs (all API versions) are denoted in Availability of APIs tabular view.
This indicates the status of the API. There are two values for the API. Those are Available and Limited.
Available - This status indicates that the API is having traffic with normal successful invocations. By default, if an API gets successful invocations at least for one out of 5 invocations within 30000 milliseconds, the status of the API becomes Available.
Note that only the APIs which have traffic will only be viewed by this tabular representation.
Limited - If an API gets an alert due to one of the reasons indicated in AvailabilityofAPIs (healthmonitoring), API status changed to “Limited".
Refer Viewing Alerts for more information on how to view the alerts generated.
Availability of APIs statistics directly related with the Availability of APIs (healthmonitoring) alert type. You can edit the default configurations of the numbers set as parameters to cumstomize generating alerts by navigating to SETTINGS > ANALYTICS and by going to the Edit view of HealthAvailabilityPerMinAlert as below.
Parameter configurations of this Alert type is as below.
|Number of continuous responses||Considering the aspect of generating the alerts, number of responses that should fail to pass the lower percentile. Default value is 5 responses.|
|Number of continuous response time failures||Number of minutes that responses should fail to pass the lower percentile for the Alert to be generated. Default value is 5 minutes.|
|Time interval||Time duration taken to recheck and change the availability of an API. The availability of the API will be rechecked after this time interval and will get new status if the behaviour get changed. Default value is 300 seconds (300000 milliseconds)|
|Cache Time-out||Cache time-out value in seconds.|
|Severity Level||Severity level of the alert which you can specify as 1, 2 or 3 where 1-severe, 2- moderate, 3- mild respectively.|