Monitor your API's performance.
The platform offers the following features to help you keep informed about your API:
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 Monitor 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:
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:
For more information, see How do I monitor my API's performance per license? |
The API > Monitor > 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 Production environments.
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 Monitoring Dashboard displays statistics for the last 24 hours.
You can narrow down the data by the following:
The API Monitoring 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 Monitoring Dashboard provides the following control types:
You can view data for Usage By App, Usage By Operation, and API Standings; you can also export the data. For more information, see:
Performance charts are included in the My Apps > Monitor > 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 sandbox or production modes, 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 Production).
Field Name | Description |
---|---|
Environment | Sandbox or Production |
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:
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. |
A button that allows you to print the current chart by loading the chart in the browser and using the browser's Print feature. |
My APIs includes a Monitor > Logs section that provides options for filtering and viewing usage logs associated with API activity that has occurred in either the platform production and sandbox environments.
Field Name | Description |
---|---|
Environment | Sandbox or Production |
Interval | A drop-down menu that allows you to select a time period for gathering report data. Options:
|
Apps | By default, the log shows results for all apps that are connected to your API. If needed you can choose a specific app. |
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, and so forth). |
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 host name 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. |
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.
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.
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.
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.
If your API is using the Licenses feature, you might want to monitor your 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:
From your API Details page, click Monitor on the left menu to access the monitoring features, and then click Licenses.
There are certain prerequisites that must be in place for monitoring information to be displayed correctly. Make sure:
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:
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:
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. |
When you choose Monitor > 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 |
---|---|
Environment | Sandbox or Production. |
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:
|
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:
|
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.
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.