Monitoring Reference
This reference covers the clauses, fields, and variables used to create a Monitoring query.The Visualize
clause selects what query data is displayed. You can select one of the following fields at a time, aggregating each field in one of several ways:
Field Name | Description | Aggregations |
---|---|---|
requests | The HTTP requests | Count, Count per Second, Percentages |
bandwidth_incoming | Bandwidth sent from the client to Vercel | Sum, Sum per Second, Min/Max, Percentages, Percentiles |
bandwidth_outgoing | Bandwidth sent from Vercel to the client | Sum, Sum per Second, Min/Max, Percentages, Percentiles |
bandwidth_total | Sum of bandwidth_incoming and bandwidth_outgoing | Sum, Sum per Second, Min/Max, Percentages, Percentiles |
serverless_function_execution | The billed Serverless Function usage in GB-Hrs | Sum, Sum per Second, Min/Max, Percentages, Percentiles |
serverless_function_duration | The time spent executing Serverless Functions | Sum, Sum per Second, Min/Max, Percentages, Percentiles |
memory_size | The size of memory provisioned for the Serverless Functions | Sum, Sum per Second, Min/Max, Percentages, Percentiles |
blocked_connections | All connections blocked by either the system or user | Count, Count per Second, Percentages |
The visualize field can be aggregated in the following ways:
Aggregation | Description |
---|---|
Count | The number of requests which occurred |
Count per Second | The average rate of requests which occurred |
Sum | The sum of the field value across all requests |
Sum per Second | The sum of the field value as a rate per second |
Minimum | The smallest observed field value |
Maximum | The largest observed field value |
Percentiles (75th, 90th, 95th, 99th) | Percentiles for the field values. For example, 90% of requests will have a duration that is less than the 90th percentile of duration. |
Percentages | Each group is reported as a percentage of the ungrouped whole. For example, if a query for request groups by hosts, one host may have 10% of the total request count. Anything excluded by the where clause is not counted towards the ungrouped whole. |
Aggregations are calculated within each point on the chart (hourly, daily, etc depending on the selected granularity) and also across the entire query window
The Where
clause defines the conditions to filter your query data. It only fetches data that meets a specified condition based on several fields and operators:
Operator | Description | |
---|---|---|
= | The operator that allows you to specify a single value | |
in | The operator that allows you to specify multiple values. For example, host in ('vercel.com', 'nextjs.com') | |
and | The operator that displays a query result if all the filter conditions are TRUE | |
or | The operator that displays a query result if at least one of the filter conditions are TRUE | |
not | The operator that displays a query result if the filter condition(s) is NOT TRUE | |
like | The operator used to search a specified pattern. This is case-sensitive. For example, host like 'acme.com' . You can also use _ to match any single character and % to match any substrings. For example, host like 'acme_.com' will match with acme1.com , acme2.com , and acme3.com . host like 'acme%' will also have the same matches. To do a case-insensitive search, use ilike | |
startsWith | Filter data values that begin with some specific characters | |
match | The operator used to search for patterns based on a regular expression (Re2 syntax). For example, match(user_agent, 'Chrome/97.*') |
String literals must be surrounded by single quotes. For example, host = 'vercel.com'
.
The Group By
clause calculates statistics for each combination of field values. Each group is displayed as a separate color in the chart view, and has a separate row in the table view.
For example, grouping by host
and status
will display data broken down by each combination of host
and status
.
The Limit
clause defines the maximum number of results displayed. If the number of query results is greater than the Limit
value, then the remaining results are compiled as Other(s).
There are several fields available for use within the where and group by clauses:
Field Name | Description | |
---|---|---|
host | Group by the request's domains and subdomains | |
path_type | Group by the request's resource type | |
project_id | Group by the request's project ID | |
status | Group by the request's HTTP response code | |
source_path | The mapped path used by the request. For example, if you have a dynamic route like /blog/[slug] and a blog post is /blog/my-blog-post , the source_path is /blog/[slug] | |
request_path | The path used by the request. For example, if you have a dynamic route like /blog/[slug] and a blog post is /blog/my-blog-post , the request_path is /blog/my-blog-post | |
cache | The cache status for the request | |
error_details | Group by the errors that were thrown on Vercel | |
deployment_id | Group by the request's deployment ID | |
environment | Group by the environment (production or preview ) | |
request_method | Group by the HTTP request method (GET , POST , PUT , etc.) | |
http_referer | Group by the HTTP referer | |
public_ip | Group by the request's IP address | |
user_agent | Group by the request's user agent | |
asn | The autonomous system number (ASN) for the request. This is related to what network the request came from (either a home network or a cloud provider) | |
bot_name | Group by the request's bot crawler name. This field will contain the name of a known crawler (e.g. Google, Bing) | |
region | Group by the region the request was routed to | |
waf_action | Group by the action taken by the Vercel Firewall (system-blocked or customer-blocked ) |
All your project's resources like pages, functions, and images have a path type:
Path Type | Description |
---|---|
static | A static asset (.js , .css , .png , etc.) |
func | A Serverless Function |
external | A resource that is outside of Vercel. This is usually caused when you have rewrite rules |
edge | An Edge Function |
prerender | A pre-rendered page built using Incremental Static Regeneration |
streaming_func | A streaming Serverless Function |
background_func | The Incremental Static Regeneration Render Function used to create or update a static page |
In the chart view (vertical bar or line), Limit
is applied at the level of each day or hour (based the value of the Data Granularity dropdown). When you hover over each step of the horizontal axis, you can see a list of the results returned and associated colors.
In the table view (below the chart), Limit
is applied to the sum of requests for the selected query window so that the number of rows in the table does not exceed the value of Limit
.
On the left navigation bar, you will find a list of example queries to get started:
Query Name | Description |
---|---|
Requests by Hostname | The total number of requests for each host |
Requests Per Second by Hostname | The total number of requests per second for each host |
Requests by Project | The total number of requests for each project_id |
Requests by IP Address | The total number of requests for each public_ip |
Requests by Bot/Crawler | The total number of requests for each bot_name |
Requests by User Agent | The total number of requests for each user_agent |
Requests by Region | The total number of requests for each region |
Bandwidth by Project, Hostname | The outgoing bandwidth for each host and project_id combination |
Bandwidth Per Second by Project, Hostname | The outgoing bandwidth per second for each host and project_id |
Bandwidth by Path, Hostname | The outgoing bandwidth for each host and source_path |
Request Cache Hits | The total number of request cache hits for each host |
Request Cache Misses | The total number of request cache misses for eachhost |
Cache Hit Rates | The percentage of cache hits and misses over time |
429 Status Codes by Host, Path | The total 429 (Too Many Requests) status code requests for each host and source_path |
5XX Status Codes by Host, Path | The total 5XX (server-related HTTPS error) status code requests for each host and source_path |
Execution by Host, Path | The total billed Serverless Function usage for each host and source_path |
Average Duration by Host, Path | The average duration for each host and source_path |
95th Percentile Duration by Host, Path | The p95 duration for each host and source_path |
Was this helpful?