Client Traffic & Time Metrics
This report appears as the Client Traffic Metrics sub-report under the Clients tab of the Metrics page. It lists, row by row, the clients (by username/identity) that make API calls in the project; each client row can be expanded to see which API Proxies that client called, which methods/endpoints it called under each API Proxy, and how often and how fast.
Since an API Proxy can be loaded into multiple environments, metrics must also be evaluated according to the environment it is loaded into. Therefore, in all analytics screens, metrics are filtered by first selecting environment information.
Metric data cannot be displayed for environments where Elasticsearch integration is not configured. In this case, a warning message is displayed on the screen.
Requests sent without a username/key that can be resolved during authentication are logged as anonymous and are grouped into a single anonymous row in the report. (If a policy — for example rate limiting — stops the request before the identity is resolved, the client is shown with whatever other identity that policy was able to resolve; anonymous is used only when no identity can be resolved at all.) Next to the username, if the client's credential record has an organization defined, that information is shown in parentheses (e.g. user1 (ACME Inc.)).
Filtering
The filter row at the top of the Metrics page is shared by all sub-reports:
| Option | Description |
|---|---|
| Environment Selection | You can select the environment you want to see metrics for |
| Project Selection | (Only in the Admin menu) You can filter metrics by selecting multiple projects |
| Date Range | You can determine the time range you want to see your metrics for (default: last 1 hour) |
| Refresh Button | Instantly re-queries and updates the data for the currently displayed report |
The sub-report row also has an Export to Excel button that exports the data of the currently displayed report.
Table Column Descriptions
The table is a three-level tree table whose rows are organized by client; the columns are grouped into six sections.
Information
| Column | Description |
|---|---|
| Client (Organization) | The name of the row in the tree structure; its value changes depending on the row's level (see "Expanding Rows" below) |
| Project | (Only in the Admin menu) Name of the project the row belongs to — only populated for API Proxy-level rows, blank for client and method/endpoint rows |
Traffic Metrics (count)
The number of requests for this row in the selected environment and date range, broken down by result:
| Column | Description |
|---|---|
| Successful | Number of requests that completed successfully |
| Blocked | Number of requests blocked by policies (e.g. security, rate limiting) |
| Error | Number of requests that resulted in an error |
| Total | Successful + Blocked + Error request count |
Request Pipeline Time (ms)
The processing time of the request policies the request passes through after reaching the gateway and before being routed to the backend:
| Column | Description |
|---|---|
| Min. | Shortest time measured in this region (ms) |
| Max. | Longest time measured in this region (ms) |
| Avg. | Average time measured in this region (ms) |
Routing Time (ms)
The time elapsed while the request is sent to the backend and the response is received back (backend round-trip time):
| Column | Description |
|---|---|
| Min. | Shortest time measured in this region (ms) |
| Max. | Longest time measured in this region (ms) |
| Avg. | Average time measured in this region (ms) |
Response Pipeline Time (ms)
The processing time of the response policies the response coming back from the backend passes through before being delivered to the client:
| Column | Description |
|---|---|
| Min. | Shortest time measured in this region (ms) |
| Max. | Longest time measured in this region (ms) |
| Avg. | Average time measured in this region (ms) |
Total Time (ms)
The sum of Request Pipeline + Routing + Response Pipeline times; the total time elapsed from the request reaching the gateway to the response returning to the client:
| Column | Description |
|---|---|
| Min. | Shortest total time measured for this row (ms) |
| Max. | Longest total time measured for this row (ms) |
| Avg. | Average total time measured for this row (ms) |
Expanding Rows: Client → API Proxy → Method/Endpoint
Clicking the arrow icon on the left of a row drills down into the next level. The table has three levels:
- Client row (level 1): The top-level rows represent each client (username/identity, with the organization if resolvable) that sent requests in the selected environment and date range. Column values are the metrics aggregated across all API Proxies and methods called by that client.
- API Proxy row (level 2): When a client row is expanded, each API Proxy called by that client is listed as a separate child row. Column values are the metrics for only that API Proxy for that client. The Project column is populated only at this level.
- Method/Endpoint row (level 3): When an API Proxy row is expanded, each method/endpoint called by that client under that API Proxy is listed as a separate child row. Column values are the metrics for only that method/endpoint for that client.