Metrics for Application Load Balancer (ALB) are extracted from the Layer 7 access logs of ALB. The following sections describe the global metrics and the metrics in each dimension.
The metrics in this topic follow the time series data format and support query and analysis by using PromQL or SQL. For more information, see Syntax for querying and analyzing time series data.
Global metrics
The following table describes the global metrics.
| Metric | Description |
| pv | The total number of visits. |
| body_bytes_sent_avg | The average number of bytes in the HTTP body that is sent to the client. |
| body_bytes_sent_sum | The total number of bytes in the HTTP body that is sent to the client. |
| request_length_avg | The average length of the request messages. |
| request_length_sum | The total length of the request messages. |
| request_time_avg | The average request time. |
| request_time_p50 | The 50th percentile of the request time. |
| request_time_p90 | The 90th percentile of the request time. |
| request_time_p99 | The 99th percentile of the request time. |
| upstream_response_time_avg | The average request connection duration. Note upstream_response_time indicates the request connection duration. The duration starts when the load balancer establishes a connection to the backend server, includes the period in which data is received, and ends when the connection is closed. |
| upstream_response_time_p50 | The 50th percentile of the request connection duration. |
| upstream_response_time_p90 | The 90th percentile of the request connection duration. |
| upstream_response_time_p99 | The 99th percentile of the request connection duration. |
app_lb_id dimension
The label of the metrics in the app_lb_id dimension is app_lb_id. Each metric is calculated separately for each app_lb_id value. The following table describes the metrics.
| Metric | Unit | Description | Label |
| pv:app_lb_id | count | The number of visits to the ALB instance. | app_lb_id |
| body_bytes_sent_avg:app_lb_id | byte | The average number of bytes in the HTTP body that is sent to the client. | app_lb_id |
| body_bytes_sent_sum:app_lb_id | byte | The total number of bytes in the HTTP body that is sent to the client. | app_lb_id |
| request_length_avg:app_lb_id | byte | The average length of the request messages. | app_lb_id |
| request_length_sum:app_lb_id | byte | The total length of the request messages. | app_lb_id |
| request_time_avg:app_lb_id | second | The average request time. | app_lb_id |
| request_time_p50:app_lb_id | second | The 50th percentile of the request time. | app_lb_id |
| request_time_p90:app_lb_id | second | The 90th percentile of the request time. | app_lb_id |
| request_time_p99:app_lb_id | second | The 99th percentile of the request time. | app_lb_id |
| upstream_response_time_avg:app_lb_id | second | The average request connection duration. Note upstream_response_time indicates the request connection duration. The duration starts when the load balancer establishes a connection to the backend server, includes the period in which data is received, and ends when the connection is closed. | app_lb_id |
| upstream_response_time_p50:app_lb_id | second | The 50th percentile of the request connection duration. | app_lb_id |
| upstream_response_time_p90:app_lb_id | second | The 90th percentile of the request connection duration. | app_lb_id |
| upstream_response_time_p99:app_lb_id | second | The 99th percentile of the request connection duration. | app_lb_id |
status dimension
The label of the metrics in the status dimension is app_lb_id+host+status. Each metric is calculated separately for each combination of app_lb_id, host, and status. The following table describes the metrics.
| Metric | Unit | Description | Label |
| pv:app_lb_id:host:status | count | The number of visits for each combination of app_lb_id, host, and status. | app_lb_id+host+status |
| body_bytes_sent_avg:app_lb_id:host:status | byte | The average number of bytes in the HTTP body that is sent to the client. | app_lb_id+host+status |
| body_bytes_sent_sum:app_lb_id:host:status | byte | The total number of bytes in the HTTP body that is sent to the client. | app_lb_id+host+status |
| request_length_avg:app_lb_id:host:status | byte | The average length of the request messages. | app_lb_id+host+status |
| request_length_sum:app_lb_id:host:status | byte | The total length of the request messages. | app_lb_id+host+status |
| request_time_avg:app_lb_id:host:status | second | The average request time. | app_lb_id+host+status |
| request_time_p50:app_lb_id:host:status | second | The 50th percentile of the request time. | app_lb_id+host+status |
| request_time_p90:app_lb_id:host:status | second | The 90th percentile of the request time. | app_lb_id+host+status |
| request_time_p99:app_lb_id:host:status | second | The 99th percentile of the request time. | app_lb_id+host+status |
| upstream_response_time_avg:app_lb_id:host:status | second | The average request connection duration. Note upstream_response_time indicates the request connection duration. The duration starts when the load balancer establishes a connection to the backend server, includes the period in which data is received, and ends when the connection is closed. | app_lb_id+host+status |
| upstream_response_time_p50:app_lb_id:host:status | second | The 50th percentile of the request connection duration. | app_lb_id+host+status |
| upstream_response_time_p90:app_lb_id:host:status | second | The 90th percentile of the request connection duration. | app_lb_id+host+status |
| upstream_response_time_p99:app_lb_id:host:status | second | The 99th percentile of the request connection duration. | app_lb_id+host+status |