You can configure the API Manager to track runtime statistics of API invocations through Google Analytics (). Google Analytics is a service that allows you to track visits to a website and generate detailed statistics on them.
This guide explains how to setup API Manager in order to feed runtime statistics to Google analytics for summarization and display.
- Setup a Google Analytics account if not subscribed already and receive a Tracking ID, which is of the format "UA-XXXXXXXX-X". A Tracking ID is issued at the time an account is created with Google Analytics.
Log in to the API Manager management console (
) using admin/admin credentials and go to Main -> Resources -> Browse menu.
If you are using a distributed/clustered API Manager setup, configure this in the API Gateway node(s).
Navigate to the
true, set your tracking ID in
<TrackingID>element and Save.
- If you want to enable tracking for tenants, log in to the management console with a tenant's credentials, click Source View, and then add the following parameter to the
org.wso2.carbon.mediation.registry.WSO2Registryregistry definition near the top (repeat this step for each tenant):
The following screen shot illustrates this change:
- API Manager is now integrated with Google Analytics. A user who has subscribed to a published API through the API Store should see an icon as
Real-Timeafter logging into their Google Analytics account. Click on this icon and select Overview.
- Invoke the above API using the embedded
Real-time statistics (or any third-part rest client such as cURL).
- This is one invocation of the API. Accordingly, Google Analytics graphs and statistics will be displayed at runtime. This example displays the PageViews per second graph and 1 user as active.
Google analytics reporting statistics take more than 24 hours from the time of invocation to populate. Shown below is a sample Dashboard with populated statistics.
There are widgets with statistics related to Audience, Traffic, Page Content, Visit Duration etc. You can add any widget of your preference to dashboard.