Monitoring API Analytics

Use analytics to monitor your API's performance.

API Platform Version: 8.1 and later

Table of Contents

  1. How can I keep informed about my API?
  2. What API monitoring information is available?
  3. How can I see a quick view of my API's performance?
  4. How do I monitor API performance?
  5. How do I monitor API usage logs?
  6. How do I narrow down metric information for my API's usage logs or licenses?
  7. How do I export usage data for apps consuming my API?
  8. How do I export usage data for operations in my API?
  9. How do I export usage data for the most popular APIs?
  10. What information is available for monitoring my API by license?
  11. How do I monitor my API's performance per license?
  12. How do I monitor my API's performance for a specific app/API contract?

How can I keep informed about my API?

The platform offers the following features to help you keep informed about your API:

Back to top

What API monitoring information is available?

The platform includes a number of charts and logs to help you monitor your API's performance from different views. Chart data can be used to monitor API usage over time or to troubleshoot errors with API operation. Usage logs that include request and response message data for API, App, and Contract activity can be queried and viewed. See How do I monitor API performance?

From your API Details page, click Analytics on the left menu to access the monitoring features.

The options available are summarized in the table below.

This option... Shows this information...
Overview

Charts:

  • Throughput
  • Average Latency
  • Errors
  • Geographical Distribution (of API usage for the past week)
  • Usage by App
  • Usage by Operation
  • Top Contributors: shows which users contributed most to the API forum: submissions and comments.

For more information, see How can I see a quick view of my API's performance?

Charts Performance charts. See How do I monitor API performance?
Logs Transaction logs. See How do I monitor API usage logs?
Licenses

Charts for licenses:

  • API Usage by License
  • API Usage by App
  • API Quota Usage

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

Back to top

How can I see a quick view of my API's performance?

The API > Analytics > Overview section includes a barometer-style Dashboard that gives you an overview of your API's performance. For example, it shows API throughput, latency, and errors for messages in real time for Sandbox and Live implementations.

Statistics are calculated for all apps consuming your API, and for all operations that are part of your API. You can get statistics on a per-second or per-minute basis. The Analytics Dashboard displays statistics for the last 24 hours.

You can narrow down the data by the following:

  • Implementation: Sandbox or Live
  • Interval: Per Sec or Per Min

The API Analytics Dashboard controls scale based on the number of messages received and the time interval selected (sec or min). For example, if your app sent or received 50 messages in the last 5 seconds, the scale changes to 0-60.

The API 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 errors incurred during message delivery.

You can view data for Usage By App, Usage By Operation, and API Standings; you can also export the data. For more information, see:

Back to top

How do I monitor API performance?

Performance charts are included in the My Apps > app > Analytics > Charts page. 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 Live or Sandbox implementations, and provides monitoring 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 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 (the default) or you can set your own scaling.

Note: Updating of chart performance statistics using Refresh is based on the selected Duration and Interval, which together represent the total time range displayed.

Chart Types

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

Chart Name Description
Min / Max / Avg Response 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.

Chart Controls

You can narrow down the information for the charts by setting the values listed below.

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 environment (Sandbox or Live).

Field Name Description
Implementation Sandbox or Live
Apps Defaults to All Apps, but you can specific an app.
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, or 12 hours.

To reset the chart display to the current time based on the selected Duration and Interval, click All.
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 in the browser and using the browser's Print feature.

Back to top

How do I monitor API usage logs?

API information includes an Analytics section that provides options for filtering and viewing usage logs associated with API activity:

  • Usage information can be filtered by the following intervals: 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 API:
  1. Choose My APIs > specific API > Analytics > Logs. The page is organized as follows:

    Field Name Description
    Implementation Sandbox or Live
    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)
    Apps By default, the log shows results for all apps that are connected to your API. If needed you can choose a specific app.
  2. Enter your filter criteria and click Refresh to generate the usage log report, which 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 Overview page of the selected API.
    Method The method associated with the request.
    Result The transaction result error code (successful, with errors, and so forth).
To view usage log details for an API:
  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 display for the selected log record.
  2. Review the log information. For more information, refer to the tables below.
  3. If you want to go to the details page for a specific app, click the app name.

For additional details about the log record, see the tables below.

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 for the operation.
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 API'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 API 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 usage data for apps consuming my API?

The monitoring process captures usage data for apps consuming the current API. The Usage By App section includes an Export function that allows you to export usage data to a .csv file. You can open the .csv file in a selected application or download it. The data exported is based on statistics gathered for the current 24-hour period.

To export usage data for apps that are using an API:
  1. On the API > Analytics > Overview page, in the Usage By App 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

How do I export usage data for operations in my API?

The monitoring process captures usage data for operations in the current API. The Usage By Operation section includes an Export function that allows you to export usage data to a .csv file. You can open the .csv file in a selected application or download it. The export data based on statistics gathered in the last 24 hours.

To export usage data for operations in your API:
  1. In the Usage By Operation section on the API > Analytics > Overview page, 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

The monitoring process captures usage data based on API popularity. The API Standings section includes an Export function that allows you to export usage data to a .csv file. You can open the .csv file in a selected application or download it. The export data is based on statistics gathered for the current 24 hour period.

To export usage data for the most popular APIs:
  1. In the API Standings section on the API > Analytics > Overview page, 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 information is available for monitoring my API by license?

If your API is using the Licenses feature, you might want to monitor the API's performance for each license.

The platform includes a set of monitoring tools, including pie charts and bar charts, to help you monitor by license.

Three choices are available:

  • API Usage by License
  • API Usage by App
  • API Quota Usage

From the API Details page, click Analytics on the left menu, and then click Licenses.

There are certain prerequisites that must be in place for monitoring information to be displayed correctly. Make sure:

  • Your API is using the Licenses feature.
  • Your licenses include a quota policy.
  • Your timezone is set correctly in the configuration settings for the underlying infrastructure (configuration settings, com.soa.rollup.configuration, monitoring.rollup.configuration.dailyRollupTimeZones setting). The timezone setting affects the way the data is rolled up into increments such as hour and day. If the settings are not correct, ask your Site Admin to adjust the timezone.

The options available are summarized in the table below.

This option... Shows this information...
API Usage by License

Pie charts that breaks down the total traffic to the API by license. This shows which license is using which portion of the API, out of the total traffic. Pie charts show the breakdown for the following metrics:

  • Usage count (total number of messages)
  • Request message size
  • Response message size

By default, three charts are generated for each license.

API Usage by App

Bar charts that break down the total traffic to the API by app. This shows metrics for the app's usage of the API, including:

  • Usage count (total number of messages)
  • Average response time (in milliseconds)
  • Response message size

By default, three charts are generated for each app.

API Quota Usage Only valid if a quota policy is attached to a license the API is using. 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
Implementation 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)
Apps Defaults to All Apps, but you can choose a specific app.
Licenses Defaults to All Licenses, but you can choose a specific license.
Graphs

Options:

  • All Graphs
  • API Usage by License
  • API Usage by App
  • API Quota Usage

Back to top

How do I monitor my API's performance per license?

The API monitoring feature allows you to review your API's activity with any apps that are using it, specific to any licenses offered for API usage.

To monitor API performance for a specific license:
  1. Log in and go to your API 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 API's performance for a specific app/API contract?

You can view monitoring charts and logs for any specific contract your API has with an app, as long as monitoring is turned on for your API.

Note: If the specified time period includes a point where the contract was revised, or suspended and resumed, 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 suspended or stopped and is then resumed or restarted, with a period in between where the contract is not active.

To monitor API performance for a specific contract:
  1. Log in and go to the API Details page for your API.
  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 App pie chart, you can see what portion of your API's total traffic is generated by a specific app.
    • Charts: Choose the environment and the app, 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 app, 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 app, and other values as needed. Choose API Usage by App.

Back to top