As data passes through Apigee Edge, it collects information about the traffic and stores it as measures and dimensions. By combining different measures, dimensions, and filters, you can generate reports that show you the exact data that you want to see.
Measures are numeric representations of a set of activities that have occurred. For example:
- The message_count measure shows you the message count for the APIs.
- The is_error measure pinpoints the APIs that are causing issues with your servers.
- The total_response_time measure helps you see how your server is performing.
Dimensions are categories of information used to group data. You can view measures by dimension. For example message_count by client_id. Examples of measures include proxy, organization, client_id, and developer.
Dimensions can be stacked to create drilldowns, meaning that you can select a top-level dimension and then each successive dimension further refines the data to focus in on a smaller and smaller subset of data.
Filters let you further refine reports by including or excluding data based on expressions.
Tips for building reports
Before building your own custom report, there are a few questions to ask yourself.
- How should the data be presented in your reports?
- What kind of dimensions do you want to categorize the metrics into?
- Do you want your reports to display only metrics?
Once you have a general outline drawn, start playing around with the different dimension and metric pieces and create a test report so that you can see how the report looks once it's completed.
By default, Apigee Edge extracts data about the messages that flow through it. These measures provide information about your traffic.
You can add these out-of-the-box measures to your report:
|average_transactions_per_second||The number of API requests and resulting responses per second.|
|target_response_time||The time taken to receive a response from the customer end point to the Edge API proxy for a request.|
|cache_hit||An API request that is serviced from the Edge cache successfully (the request is not forwarded to the customer end point).|
|request_size||The size of an API request as seen by the Edge API proxy, measured in kilobytes.|
|response_processing_latency||The time it takes to process a response for an API request at the Edge API proxy, measured in milliseconds.|
|response_size||The size of an API response as seen by the Edge API proxy, measured in kilobytes.|
|request_processing_latency||The time it takes to process an API request at the Edge API proxy, measured in milliseconds.|
|total_response_time||The total time taken for an app to receive a response for an API request. This is the sum of the request processing latency of the Edge API proxy, request processing latency of the customer end point, response generation latency of the customer end point and the response processing latency of the Edge API proxy. It also includes the latency introduced by the network layer as the request can go through multiple networks (also the response) before it reaches its destination.|
|is_error||A request is marked as "is_Error" when the request can not be serviced successfully.|
|traffic||The total number of API requests (and responses) that are seen by the Edge API proxy.|
Apigee Edge provides a set of predefined custom reports, informally called "custom report packs".
Custom report packs are available to paid Apigee Edge customers only.
There are two custom report packs: operational reports and hackathon reports. The operational report pack provides more than 15 reports that are designed to help you analyze your API traffic from multiple angles. For example, one operational report tracks the most common errors by error type, another tracks the most error-prone resources.
The hackathon report pack comprises a collection of reports that can help you analyze and track the quality of your hackathons. For example, one report tracks the traffic from developers participating in a hackathon, another shows the API latency times during a hackathon.
The operational report pack appears automatically in the list of your custom reports — you do not have to do anything to request these reports. However, to receive the hackathon report pack, you need to first provide Apigee with some details about the hackathon, such as its name and date. Apigee Edge can then provision the the pertinent hackathon reports with the correct filters and time ranges. You can contact Apigee, through the Apigee Support Portal.
By adding custom reports, you can create a set of charts that provide insight into every aspect of your API program.
To add a custom report:
- Click Analytics in the main menu of the management UI, then Custom Reports.
- Click the +Custom Report button.
- Enter the name and description for your report.
- Select a chart type, column or line.
- Select a data aggregation interval for the report.
- Hourly will show data aggregated every hour.
- Daily will show data aggregated every 24 hours.
- Per Minute will show data aggregated every minute. (Per Minute is costly so it advised to use this option sparingly.)
- Click the Environment menu and choose the environment in your org from which you want data to be collected.
- In the Measure sections, choose the data for the first metric (Measure 1) that you want to present in your report, such as traffic.
- Select an aggregation function that you want applied to the data for the first metric. You can select an aggregation function to display the sum, average, minimum value, or maximum value.
Click + Measure to add additional measures.
- Choose your drilldown dimensions, such as an Edge API Proxy. Every dimension you add (by clicking + Drilldown) constrains the data set used to generate the reports. In effect, you're presenting more and more specific data with each drilldown.
- You can further narrow the data displayed by adding filters to your report definition. In the Filter section of the page, click + Filter Condition. Select the entity you want to filter on, and construct an expression with the Operator and Value to include or exclude data in the report.
For example, you could add a filter that excludes data for the weather API proxy or developer email@example.com.
Select an AND or OR connector for multiple filters, and click the check mark icon to save each filter.
- Click Save.
The Analytics tab provides access to the reports in your org.
- Click Analytics in the main menu.
The landing page lists all the available custom reports.
- The Reports table lists the following elements:
- Report name: Name of the report.
- Environment: The environment in your org from which data is collected.
- Metric: The primary measure specified for the report.
- Report Description: The description of the report.
- Last Modified: The date and time when the report was last modified.
Note: Click the Report Name heading to sort the view the reports in either ascending or descending order, by name.
- Click on a report to view it.
Notice the Accuracy slider. The slider allows you to trade off performance versus accuracy in the report. Slide the slider to the "Fast" setting to produce the fastest results. When you do this, a smaller sample size is used to produce the report. Slide the slider to the middle setting and a larger sample is used. Slide the slider to the "Accurate" setting and the largest sample size (producing the most accurate report) is used. Because a larger sample size is used for the report, the results will not be produced as quickly as for the "Fast" setting.
A custom report not only enables you to view data for a period that you specify, such as the last week, but you can also view data from a previous period, such as the prior week. (Displaying data for a prior period is available only for line charts.) In this way, you can compare data for comparable periods of time. Check Compare to Previous Period to display data for the prior period. Data for a previous period is displayed in the line chart with a dotted line and marked in the table with an asterisk.
- Click and drag across an area of interest in the report to zoom in. This enables you to uncover details and trends over a specific time period in the report that otherwise might be hidden.
Click Reset Zoom if you want to zoom back out.
You can refresh the report by clicking the refresh button.
When you've completed building your custom report, the data is populated immediately. The graph is defaulted to plot the first metric you chose for the tab in your custom report. If you want to see different metrics, or compare them against each other, follow these steps:
- Click the report name to view the graphs of the selected report.
- Click the Edit button to edit the display name, dimensions, and measures.
- Click Save.
You also have the option to delete a report by clicking the Delete button.
You can create your own customized analytics dashboard with up to four custom reports. The dashboard can include any custom reports that you previously created — including reports that use custom variables, drill-downs, metric correlations, and filters.
Custom dashboard configurations are persisted as cookies. This means that each user in your organization can have a different custom report dashboard instance. It also means that each user can maintain different instances from browser to browser.
To create a custom reports dashboard:
- Click Analytics in the main menu of the management UI, then Custom Reports Dashboard.
- Select a custom report from the list of your custom reports.
You need to have previously created at least one custom report before you can create a custom reports dashboard.
- Select a time period for the report. You can select the last 5 minutes, 15 minutes, 30 minutes, 45 minutes, or hour.
- Click the checkmark to save the report in the dashboard, or the minus sign to remove the report from the dashboard.
- Repeat steps 1-to-4 for each custom report (up to a maximum of 4 custom reports) that you want to include in the dashboard.
You can export a saved custom report to CSV, PDF or PNG format. Each report includes an export menu where you can select a format for the export.