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

  1. How can I keep informed about my app?
  2. What app analytics information is available?
  3. How can I see a quick view of my app's performance?
  4. How do I monitor app performance?
  5. How do I monitor my app's API usage logs?
  6. How do I narrow down metric information for my app's usage logs or licenses?
  7. How do I export API usage data for APIs that my app is connected to?
  8. What analytics information is available for monitoring my app's API usage by license?
  9. How do I monitor my app's performance per license?
  10. 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:

Back to top

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...
Overview

Charts:

  • Throughput
  • Average Latency
  • Errors

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?
Licenses

Charts for licenses:

  • API Usage by License
  • API Quota Usage

For more information, see How do I monitor my app's performance per license?

Back to top

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?

Back to top

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.

Chart Types

The following performance chart types are supported for apps. All chart data is presented in milliseconds (ms).

Chart Name Description
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.

Fault Throughput

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.

Success Throughput

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.

 

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.

Graph Controls

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).

Field Name Description
Duration

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:

  • 5 minutes
  • 15 minutes
  • 1 hour
  • 1 day
  • 1 week
  • 1 year

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.
Print A button that allows you to print the current chart by loading the chart into the browser and using the browser's Print feature.

Back to top

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:
  1. 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:

    • All
    • 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.
  2. 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:
  1. 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.
  2. Review the log information. Refer for the Usage Log Details tables below for more information.
  3. Review the log information. For more information, refer to the tables below.
  4. If you would like to Go to the details page for a specific API, click the API name.

Usage Log Details (Transport Header)

Field Name Description
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)

Field Name Description
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
)

Field Name Description
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.

Back to top

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
  1. From the app's Details page, choose Analytics and then choose Logs or Licenses.
  2. Choose the environment.
  3. Click the Interval drop-down and choose Custom, as shown below.

    date picker

  4. Define start and end date/time, as shown below.

    date picker with custom date range

  5. Adjust the date range as needed until you have the transaction range you need.
  6. If needed, click Export to export the transactions to a ZIP file.

Back to top

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:
  1. On the Apps > Analytics > Overview page, in the API Usage section, click Export. The Opening export.csv file dialog box displays.
  2. To open the .csv file in Microsoft Excel or another selected application, click Open With.
  3. To download the .csv file, click Save File.
  4. To exit, click OK.

Back to top

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.

Setting Values/Description
Endpoint Sandbox or Live.
Report period

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:

  • 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 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.

Back to top

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:
  1. Log in and go to the app's Details page.
  2. Click Analytics > Licenses.
  3. Choose values as needed. For details on the options available, refer to Analytics by License: Graph Controls above.

Back to top

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:
  1. Log in and go to the app's Details page.
  2. On the left menu, click Analytics.
  3. 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.

Back to top