This topic introduces the out-of-the-box visualization tools provided by Apigee Edge. These tools let you view a broad range of API metrics, make comparisons, assess anomalies in API data, and drill down into specific data points.
Video: Check out this brief video to learn about new Edge Analytics Services visualization features and see how you can view trends, spot anomalies, see top performers, and compare different metrics in an API ecosystem.
For a quick overview of Analytics Services, who uses them, and why, see Analytics Services overview.
The ability to tell at a glance how your API is performing is extremely valuable. Has there been a sudden spike or drop off in API traffic? Which app developers are most successful? What is the adoption rate of your API among developers? Which API methods are most popular?
Apigee Edge provides a suite of visualization tools specifically designed to answer questions like these. In the background, Apigee Edge collects information as data passes through your APIs. This information is collected and analyzed by the analytics system. The visualization tools provide a powerful way to use this data immediately. If you see something of interest in a graph or chart, an anomaly or sudden change, you can then drill deeper to uncover as much detail as you require.
Apigee Edge provides a variety of graphs and charts that you can use out-of-the-box. They include:
- Business Transactions dashboard - Enables you to track specific patterns in your API traffic and understand correlations between patterns from different API proxies.
- GeoMap - Shows you on a map where your APIs are being used.
- Traffic Composition - Plots contribution over time of your most valuable apps, developers, APIs, and products to your API program.
- Endpoint Performance - Shows you metrics related to target endpoints including traffic, response time, errors, and request/response payload size.
- API Proxy Performance - Tracks metrics like latency, API proxy errors, transactions per second, and cache errors.
- Cache Performance - Shows you metrics like cache hit rate, cache hits by API, cache hits by apps, total response time, and others.
- Custom Reports - Allows you to generate plots and charts from a broad range of API metrics including total response time, traffic flow, errors, cache hits, and many others.
- Custom Reports dashboard - Provides several views that help you quickly see how your API program is performing over time. Also lets you assess the performance of specific APIs, developers, API products, and apps.
- Specific Proxy Performance - Every API proxy page includes a Performance section where you can view performance metrics for that specific API.
- Trace tool - While Trace does not perform API analytics per se, it does provide visual, real-time information about an API. Trace is useful for troubleshooting problems, determining where there are bottlenecks in your API, and so on.
- API Proxies Performance - The API Proxies page (select API Proxies from the APIs menu) includes a Performance section where you can comparatively plot performance metrics for all of your APIs. You can view plots of traffic, error rates, response time, and more. In addition, you can drill down into specific data points using the Investigate Anomalies feature.
Data visualization is an important troubleshooting tool. Apigee Edge is always collecting and analyzing data for your APIs, and visualization is the most powerful way to unlock, compare, contrast, and assess that data.
So, let's say you've been hearing from customers (perhaps via support calls, social media sites, or user forums) that one of your APIs is slow. Visualization can help. Where do you begin?
Consider and test for possible causes
Possible causes might include:
- If the slowness being seen by just one app or is it from multiple apps? If one app, then it might be a problem with the app.
- If it being seen by multiple users across multiple apps and users seem to be in the same geo location, then it could be a network issue
- If you're not seeing either of these issue, it could be an issue with Apigee Edge. If you recently added or updated a policy. It could be configured incorrectly.
- If the total response time is being reported as high, but the average endpoint response time has not changed then it might be an Apigee issue. If the average endpoint response time is also high then it could be an issue in the network between Apigee and the target server, or an internal application server.
Visualize which API is slow
To discover which API is underperforming, one approach is to compare the average response times of all your APIs to see if one of them is out of line.
- Select API Proxies from the APIs menu.
- In the Performance section of the API Proxies page, select Average Response Time from the Performance menu.
- Select a range of dates to evaluate.
- Select which APIs you wish to evaluate.
In the plot, look for sudden spikes or gradual increases in response time.
Visualize with a custom report
If you suspect which API is causing a problem, you can create a custom report that includes charts and plots comparing specific metrics that you select. For example, you can visualize the maximum latency time by app and resource.
- Select Custom Reports from the Analytics menu.
- Fill out the Custom Report basics, select your sampling rate, and the environment you wish to test.
- In the Y-Axis Measures section, select Total Response Time and Max for the Aggregate Function:
- Specify Drilldowns for the API Proxy and Request Path:
Analyze the resulting report
The new latency report will show you the response times by API and then by each resource within an API. By combining this information with what you know about your network architecture, you can quickly find issues that may be related to your infrastructure.
You can drill down on the worst performing API (the one with the highest latency).
Now that you know which resource is performing badly, you can examine your network to see if there's a service issue, or you can add a 3rd dimension like Developer App to see which apps are impacted by this slow resource, or developer to figure out which developers are impacted by the slow resource.
As you can see, Edge Analytics Services includes multiple ways to approach a specific problem, and visualization plays an important role in any troubleshooting process.
The Apigee Edge Dashboard gives you a comprehensive, high-level view of the traffic, apps, products, and developers in your API ecosystem. Click Dashboard in the main menu bar to display this feature.
The main Dashboard page:
- displays overall API traffic for the time period and environment you select.
- shows the number of successes and the number of errors as part of the total traffic.
- displays information about developer signups.
- displays information about developer traffic.
- displays traffic numbers for the top developer apps.
- displays data for the last hour, today, the last week or month, or select a custom date range from a calendar.
- aggregates the displayed data by minute, hour, day, week, or month.
Click the Top Performance View icon to show charts for the top APIs, top developers and developer apps, and top products.
Overall, the charts display metrics that help you manage both the business and operational aspects of your APIs.
- API traffic monitoring metrics are useful for managing the business side of your APIs. These metrics are available from the Dashboard page and provide a high-level view of all the APIs in your organization. They give you insight into which APIs are most popular with customers and how much traffic is flowing through all your APIs.
- API performance metrics are useful for managing the operations side of an organization. These metrics are available on the Dashboard tab and provide insight into traffic, response time, and errors per API.
|All API traffic||
All the API traffic (throughput) for an organization over the selected period of time.
Throughput = traffic = the number of API requests and responses seen by the organization.
|Developer Engagement||This section visually shows the ratio among traffic levels for high, medium, low, and inactive developers using your APIs for the selected time period. Also shown are the total number of developers who have signed up to use your APIs, and the percentage change of developer signups between this week and last week.|
|Developer Apps||Traffic for your top-performing developer apps for the selected time period is displayed in this chart.|
The APIs with the highest traffic over the selected time period.
|Top Developer Apps||
The developer apps with the highest traffic over the selected time period.
The API products with the highest traffic over the selected time period.
(API products are groups or collections of APIs that are logically grouped into sets for the purposes of provisioning access, logging or metrics generation with the ability to view and maintain control at the group level.)
Developers with the highest traffic over the selected time period.
Viewing chart details
The charts provide a number of ways to see specific data numbers:
- Hover your mouse pointer over data points for a popup window that displays details.
- Click the Detail button in the API Traffic chart to see data details for specific APIs.
- Zoom in on charts by clicking and dragging across chart areas.
Notice that the details chart also identifies and lists statistics for the APIs that have the most and least traffic and most and least errors over the selected period.
The following metrics are available to help monitor API performance. You'll find these on the API Proxies page. You can drill down on specific APIs to see more granular metrics.
|Traffic||Also known as throughput. The number of API requests and resulting responses seen by the organization.|
|Average Response Time||The time an API takes to respond to an incoming request.|
|Average Endpoint Response Time||The average time it takes the target endpoint to respond to an incoming request for the selected period.|
|Maximum Response Time||The slowest response time for the selected period.|
|Error Rate||The fraction of all API requests that are unsuccessful, that is, the request does not deliver a response as desired by the end user.|
|Average Data Exchange||The size of request and response. That is, the amount of data that is transferred in both directions as a request for an API, and as a response that is generated and delivered to the calling entity.|
|Average Transactions per Second||The number of API requests and resulting responses per second.|
|Average Transactions per Minute||The number of API requests and resulting responses per minute.|
|Average Transactions per Hour||The number of API requests and resulting responses per hour.|
You can refresh the performance metrics by clicking the refresh button.
If you have multiple resources in an API proxy, you can track metrics on any and all resources for comparison on the API proxy page. Metrics include traffic (and a bar chart that visually illustrates traffic trends), average response time, error rate, and the average size of the request and response in KB (average data exchange), which can also be displayed in a chart on the page.
As is the case for performance metrics across all resources in an API proxy, you can refresh the performance metrics for an individual URI by clicking the refresh button.
Adding metrics for URIs
To collect metrics on individual URIs in an API proxy:
- In the API Platform menu, select APIs, then click the API proxy you want.
- In the Performance section of the API proxy page, click + URI Pattern.
- Select the method/verb for which you want metrics.
- Enter a Pattern for a URI that is beyond the Default Proxy Endpoint Base Path listed at the top of the page. (The URI pattern must be part of the proxy.pathSuffix, as described in Variables reference). Patterns begin with a forward slash and can include the asterisk (*) wildcard as part of the pattern.
For example, given a proxy base path of /v1/inventory and resource paths of
you could collect metrics on the following URIs:
- /1 - Collects metrics on the /1 URI
- /abc/123 - Collects metrics on the /abc/123 URI
- /abc/*/dec - Collects metrics on the /abc/123/dec and /abc/456/dec URIs
- After adding a URI pattern, click the check mark icon.
- In the chart at the bottom of the page, click URI patterns in the right pane to show and hide them.
After adding URI patterns, it may take up to an hour for metrics to be available on them. Also, if you delete a URI pattern, metrics for that pattern are no longer collected.
If you see a dramatic rise (a "spike") or a dramatic drop in the traffic, you can get further detail, by checking the Investigate Anomalies checkbox on the API Proxies page and clicking on a point in the chart that corresponds to the spike or drop. In response, you'll be able to view the traffic pattern before, at, and after the spike or drop. You can display the Investigate Anomalies data by any of the dimensions available by default in Apigee Edge as well as by custom dimensions. This gives you enhanced insight into the cause of a spike or drop and enables you to correlate it to factors such as developer, developer app, resource, client IP address, or target URL.
In addition to the Investigate Anomalies checkbox, there are two checkboxes displayed for the APIs on the API Proxies page or for an API on its detail page.
|Show Moving Averages||Check this checkbox to view a moving average for the API. You can check this checkbox for multiple APIs to view a moving average that includes the set of these APIs. A moving average is a series of averages taken over sucessive subsets of a complete set of data. It's especially useful in viewing trends. The moving average is displayed as a band whose limits are +-20% of the calculated moving average data points.|
|Show Alerts||Select this checkbox (on the API Proxies page) to view the number of times that the moving average for the API exceeded the +-20% limit.|
The Geo Map lets you track traffic across locations. Depending on the metric you choose, you use this information to see the quality of services across geos or growth trends by country. You can see all API traffic or individual APIs on different environments over a specific period of time.
Growth trends by location
Use the Message Count metric to see where your traffic is coming from. By using different time periods you can see which countries generate the most traffic at which times. You can also record traffic rates over different time periods to see trends in growth.
- On the Analytics tab, click GeoMap.
- Choose the Message Count from the Metric menu. You can drill down on individual countries to see which country is generating the most traffic.
Quality of Service by location
Use the Average Response Time and Average Endpoint Response Time metrics to see how your backend services are performing by country.
- On the Analytics tab, click GeoMap.
- Choose the response time metric from the menu.
- Choose either Average response time to see the overall quality of service or Average Endpoint response time to see the quality of service for your backend services.
The Traffic Composition report provides insights into the most valuable entities of an API program - apps, developers, APIs, and resources. Use the report to detect business problems such as lower traffic trends or diminishing contribution from key apps and developers. You can also get early notification of new entities that contribute to API traffic, and take actions to respond — for example, you can determine which new developers are highly contributing and include them in nurturing programs.
To view the Traffic Composition report:
- On the Analytics tab, click Traffic Composition.
- Choose a type of entity for the report: APIs, Apps, Developers, or Products.
For each entity type, the report displays the following charts:
|Overall Traffic Trends||The number of messages for each entity of the selected type over time — for example, the number of messages for each API over time.|
|Relative Traffic Contribution||The relative amount of traffic contributed by each entity of the selected type over time — for example, the relative contribution of each app over time.|
|Traffic Trend for entity||Click on a segment of a Relative Traffic Contribution chart to view the traffic trend for the corresponding entity. For example, click on a segment that displays the relative traffic contribution for a specific developer to view the traffic trend for that developer.|
The Business Transaction Dashboard lets you monitor and visually compare traffic for specific API patterns across multiple API proxies. This information helps you understand changes in API traffic that might be caused by specific business, marketing, or partner events. For example, suppose that your marketing team hosts a program that drives customers to a specific site. The URI pattern for that site will experience an increase in traffic, giving the team a way to measure the impact of the program in real time.
To use the Business Transaction Dashboard:
- In the API Platform menu, select APIs, then click the API proxy you want to measure.
- In the Performance section of the page, you will see if there are any URI Patterns specified. To add more, click +URI Pattern. These are the patterns that the Business Transaction Dashboard will examine and compare with patterns from other APIs. For more details on configuring URI Patterns, see "Monitoring the performance of individual URIs in an API proxy".
- From the Analytics menu, select Business Transaction Dashboard.
- Click the configuration (gear) icon next to the Business Transactions heading. The URI patterns for all APIs in your organization are listed there.
- Select the URI patterns you wish to compare and specify a date range.
- Click Save.
To add more transactions, follow this same procedure to add URI patterns from as many APIs as you wish.
The Operations dashboards highlight invaluable information about your API's health and performance. These dashboards are available out-of-the-box and require no special setup or configuration. Select these dashboards directly from the Analytics menu. They include:
- Endpoint Performance
- API Proxy Performance
- Cache Performance
All of the Operations dashboards let you change the sample time range and interactively zoom in to any of the charts. They are described briefly in this section.
Endpoint Performance dashboard
The Endpoint Perfromance dashboard tracks how your endpoint servers behave from Apigee's point of view. This dashboard gives you visibility into what kind of errors or latency is observed from specific endpoint servers, allowing operation teams to better understand their backend systems. Metrics include total traffic counts, response times, errors, and request/response payload size. This dashboard enables operation teams to better understand their backend systems.
API Proxy Performance dashboard
The API Proxy Performance dashboard tracks how much time API proxies spend processing requests and responses. This dashboard lets you visualize the network latency beetween Apigee Edge and backend servers. This dashboard includes metrics like proxy errors, transactions per second (TPS), and errors that originate in the API proxy.
Cache Performance dashboard
The Cache Performance dashboard lets you see at a glance the value of your Apigee Edge cache. The dashboard helps you visualize the benefit of the cache in terms of lower latency and reduced load backend servers. It highlights metrics like cache hit rate, cache hits by API, cache hits by apps, total response time, and others. For information about cache management, see Manage caches for an environment.
In addition to the analytics available online through Apigee, all organization administrators are automatically subscribed to receive daily analytics summary reports through email.
You can export custom reports to CSV, PDF, or PNG format. Each report includes an export menu where you can select a format for the export.