Monitoring App Analytics
Use analytics to monitor app traffic with APIs that the app is using.
API Platform Version: 8.1 and later
Table of Contents
- How can I keep informed about my app?
- What app analytics information is available?
- How can I see a quick view of my app's performance?
- How do I monitor app performance?
- How do I monitor my app's API usage logs?
- How do I narrow down metric information for my app's usage logs or licenses?
- How do I export API usage data for APIs that my app is connected to?
- What analytics information is available for monitoring my app's API usage by license?
- How do I monitor my app's performance per license?
- How do I monitor my app's performance for a specific app/API contract?
How can I keep informed about my app?
The platform offers the following app monitoring functions:
- Charts and graphs: A set of monitoring charts and graphs for viewing, and in some cases exporting, your app's activity with the APIs it's using, including faults and transaction details. For full details, see What app analytics information is available?
- Dashboard notifications relating to the app. These are viewable via your Dashboard (see What is the Dashboard?), or via the App Forum (see How do I filter information in the App Forum?).
- API-related email notifications: for information about the notification categories, and how to turn on and off email notifications, see How do I enable or disable email notifications?
What app analytics information is available?
The platform includes a number of charts and logs to help you monitor your app's traffic with APIs it's using, from various different views. Chart data can be used to monitor your app's API usage over time or to troubleshoot errors. Usage logs that include request and response message data for message activity can be queried and viewed. See How do I monitor app performance?
From the app's Details page, click Analytics on the left menu to access the analytics features.
The options available are summarized in the table below.
|This option...||Shows this information...|
For more information, see How can I see a quick view of my app's performance?
|Charts||Performance charts. See How do I monitor app performance?|
|Logs||Transaction logs. See How do I monitor my app's API usage logs?|
Charts for licenses:
For more information, see How do I monitor my app's performance per license?
How can I see a quick view of my app's performance?
The Apps > Analytics > Overview section includes a barometer-style Dashboard controls that allows you to view throughput, latency, and errors in real-time for your app's message traffic. Statistics are calculated for all APIs that you app is connected to. You can obtain statistics on a per-second or per-minute basis. The Dashboard displays statistics for the last 24 hours.
The App Analytics Dashboard rescales based on the number of messages received and the time interval selected (sec or min). For example, if your app sent 50 messages in the last 5 seconds, the scale changes to 0-60.
The App Analytics Dashboard provides the following control types:
- Throughput: Provides statistics on the rate of successful message delivery.
- Latency: Provides statistics on the amount of time it takes to process a message from source to destination.
- Errors: Provides statistics on the number of errors incurred during message delivery.
You can view data for API usage; you can also export the data. See How do I export API usage data for APIs that my App is connected to?
How do I monitor app performance?
Performance charts are included in the My Apps > app > Analytics > Charts page. They provide a mechanism for all platform members to view the performance of their apps and the APIs their apps are consuming. Chart data can be used to monitor API usage over time or to troubleshoot errors.
The Performance Chart functionality allows you to view performance in the Sandbox or Live implementations, and provides analytics for tracking service response time and transaction faults. Charts are populated by usage "roll-up" data that is gathered during the processing of web service request and response messages. Historic usage and performance data can be queried and viewed in the Usage Logs section. See How do I monitor my app's API usage logs?
Performance Charts automatically scale the Y axis to show an appropriate range for the data shown. You can choose to scale to the average based on the selected interval, or you can set your own scaling.
Note: Updating of chart performance statistics using Refresh is based on your selected Duration and Interval, which together represents the total time range displayed.
The following performance chart types are supported for apps. All chart data is presented in milliseconds (ms).
|Min / Max / Avg Time||
Minimum, Maximum, and Average Response Times for transactions are depicted in a candlestick bar chart on the Y axis.
You can also hover over each time interval and view a Datapoint pop-up that displays the Date, Time, Average, Max, and Min Response time of the transaction for the selected time interval.
Faults are depicted in a single chart below the Min / Max / Avg Time chart.
Faults are depicted in a scatter chart. A red dot represents the number of faults associated with a specific time interval.
Successful transactions are depicted in a single chart below the Fault chart.
Successful transactions are depicted in a column chart. A vertical bar displays the number of transactions that have successfully processed for the selected response time range.
The Performance Chart includes a navigation control, located at the bottom of the chart, which allows you to navigate the Timeline based on the selected Duration and Time Interval. Throughput data can also be monitored on the timeline and is presented in a spline chart.
After you have defined a timeline, there are several ways to view additional chart detail. The Zoom feature allows you to view chart data by clicking on a pre-defined interval (1 hour, 3 hour, 6 hour, 12 hour, All). The Data Point Popup allows you to hover over a specific datapoint to view response data detail including Date, Time, Average, Max, and Min.
The Graph Controls section of a Performance Chart provides options for configuring the chart content (a specific API or all APIs), data capture and display intervals (Duration and Interval), as well as navigating and zooming the chart Timeline. Each chart displays data based on the currently approved implementation (Sandbox or Live).
A drop-down menu that allows you to select the time period to be shown on the chart. You can choose to show the last:
When you select a new duration, the Performance Chart data is automatically refreshed.
|Interval||A drop-down menu that allows you to select the interval for which the Performance Chart Timeline will present the data. Options adjust based on selected Duration. For example, if Duration is 5 minutes, Interval is 5 sec. If Duration is 1 year, Interval is 1 week.|
|Zoom||A button control that allows you to view chart data in pre-defined intervals of All, 1 hour, 3 hours, 6 hours, and 12 hours.
Note: Selecting All can be used to reset the chart display to the current time based on the selected Duration and Interval.
|Refresh||A button that updates the chart data to the current time.|
|A button that allows you to print the current chart by loading the chart into the browser and using the browser's Print feature.|
How do I monitor my app's API usage logs?
My Apps includes an Analytics > Logs section that provides options for filtering and viewing usage logs associated with app/API activity that has occurred in the Sandbox or Live implementation.
- Usage information can be filtered by duration in All, 5 minute, 1 hour, 1 day, or custom date range intervals (including HH:MM:SS).
- You can view details of a specific Usage Log record by clicking the Sent field in the search results.
- You can view the values of each Usage Log record. This can be useful for performing a quick review of message activity associated with a specific transaction.
To generate a usage log report for an app:
- Navigate to My Apps > choose app > Analytics > Logs. It is organized as follows:
Field Name Description Implementatoin Live or Sandbox. Interval
A drop-down menu that allows you to select a time period for gathering report data. Options:
- 1 hour
- 1 day
- 1 week
- 1 month
- 1 year
- Custom (specify From/To for the custom time period, down to hours, minutes, and seconds)
APIs By default, the log shows results for all APIs your app is connected to. If needed you can choose a specific API.
- Enter your filter criteria and click Refresh to generate your usage log report. Your usage log report includes the following information:
Field Name Description Sent The request date and request time (in milliseconds) when the request was received, with a link to a Usage Log Details report for the selected log record. API The API associated with the request, with a link to the API Details page of the selected API. Method The method associated with the request. Result The transaction result error code (successful, with errors, etc.).
To view usage log details for an app:
- In the Usage Log Report, choose a log record for which you want to view the details and then click the Sent field. The Usage Log Details table display for the selected log record.
- Review the log information. Refer for the Usage Log Details tables below for more information.
- Review the log information. For more information, refer to the tables below.
- If you would like to Go to the details page for a specific API, click the API name.
Usage Log Details (Transport Header)
|API||The name of the API the message is associated with.|
|Method||The name of the method (operation) the message is associated with.|
|URL||The URL of the RESTful web service and specific function being used.|
|Client Host||The hostname of the client that made the request.|
|Time Sent||The date and time (in milliseconds) when the request was made.|
|Time Taken||The date and time (in milliseconds) when the request is made.|
|Status Code||The HTTP response status code.|
|Message Content||Request and response message content.|
Usage Log Details (Transport Headers for Request Message)
|Request Method||The HTTP verb for the message; generally POST, GET, PUT, or DELETE.|
|Accept-Encoding||The compression schema used for encoding data.|
|Authorization||Authentication credentials for HTTP authentication.|
|Content-Type||The media type for the request message.|
|User Agent||The user-agent for the message; for example, the browser type.|
|Host||The domain name of the server.|
|Message||The request message body.|
Usage Log Details (Transport Headers for Response Message)
|Date||The date and time that the message was sent.|
|Content-Type||The media type for response message.|
|Cache-Control||Tells all caching mechanisms from server to client whether caching is allowed for the message. Measured in seconds.|
|Expires||Displays the date/time after which the response is considered out-of-date.|
|Transfer-Encoding||The form of encoding used for the message (for example, deflate or gzip).|
|Message||The response message body.|
How do I narrow down metric information for my app's usage logs or licenses?
If you have a lot of transactions, you can use the Custom date range option to narrow down the time period. Custom date range includes hours, minutes, and seconds, so you can narrow down your logs or license charts to a range of seconds, to help you zero in on specific transactions.
Note: If you use the Custom date range, the platform uses the time values from your local browser settings, converted to UTC time.
To narrow down metric information
- From the app's Details page, choose Analytics and then choose Logs or Licenses.
- Choose the environment.
- Click the Interval drop-down and choose Custom, as shown below.
- Define start and end date/time, as shown below.
- Adjust the date range as needed until you have the transaction range you need.
- If needed, click Export to export the transactions to a ZIP file.
How do I export API usage data for APIs that my app is connected to?
The analytics process captures your app's usage data for the APIs it is connected to. The API Usage section includes an Export function that allows you to export usage data in a .csv file. You can open the .csv file in a selected application or download it. The export data is based on statistics gathered in the last 24 hours.
To export usage data for APIs that an app is connected to:
- On the Apps > Analytics > Overview page, in the API Usage section, click Export. The Opening export.csv file dialog box displays.
- To open the .csv file in Microsoft Excel or another selected application, click Open With.
- To download the .csv file, click Save File.
- To exit, click OK.
What analytics information is available for monitoring my app's API usage by license?
If your app is subscribed to APIs that offer specific licenses, you might want to monitor your app's API consumption for each license.
The platform allows you to monitor your app's quota usage to check that it isn't exceeding the quota defined by the license you selected for your contract with the API.
From the app's Details page, click Analytics on the left menu, and then click Licenses.
Analytics information will only show up if your app has one or more contracts with APIs that offer licenses with defined quotas of API usage.
The options available are summarized in the table below.
|This option...||Shows this information...|
|API Quota Usage||Only valid if a quota policy is attached to a license that is applicable to the app/API contract. This chart shows app consumption of the API as a bar chart, with each time slot being a bar, and additionally displays the quota threshold as a line across the chart. If the app exceeds the consumption defined by the quota, the bar is shown in red; if the app consumption is within quota, the bar is blue.|
Analytics by License: Graph Controls
When you choose Analytics > Licenses, you can adjust the chart settings so that you see the exact information you need. Settings and their values are shown below.
|Endpoint||Sandbox or Live.|
A drop-down menu that allows you to select the time period to be shown in the chart. When you select a new duration, the Performance Chart data is automatically refreshed. Choices:
|APIs||Defaults to All APIs, but you can choose a specific API.|
|Licenses||Defaults to All Licenses, but you can choose a specific license.|
|Graphs||App Quota Usage is the only option.|
How do I monitor my app's performance per license?
The app monitoring feature allows you to review your app's activity with any APIs it's subscribed to, specific to any licenses that are applicable to the contract.
To monitor app performance for a specific license:
- Log in and go to the app's Details page.
- Click Analytics > Licenses.
- Choose values as needed. For details on the options available, refer to Analytics by License: Graph Controls above.
How do I monitor my app's performance for a specific app/API contract?
You can view analytics information in charts and logs for any specific contract your app has with an API, as long as monitoring is turned on for the API.
Note: If the specified time period includes a point where the contract was modified, or the contract was cancelled and a new one created, the chart or graph shows all transaction info between the app and the API in the selected time period. However, only in the case where the contract was revised, there is uninterrupted service. In other scenarios, service is stopped and is then restarted, with a period in between where the contract is not active.
To monitor app performance for a specific contract:
- Log in and go to the app's Details page.
- On the left menu, click Analytics.
- Choose one of the following options, to view contract information in different ways:
- Overview: Choose the environment. Here, in the Usage by API pie chart, you can see what portion of your app's total traffic is supported by a specific API.
- Charts: Choose the environment and the API, and other values as needed. Here, you can view transaction volume, success/fault, and how the traffic measures against min/max average transaction time, if specified. You can also export the chart information.
- Logs: Choose the environment and the API, and date range if needed. Here, you can view specific transaction logs. You can also export the log information.
- Licenses: Choose the environment and the API, and other values as needed. Here, you can view app quota usage information for the specific contract.