mirror of
https://github.com/nginx/nginx.git
synced 2024-12-18 21:23:36 -06:00
Upstream: implemented $upstream_bytes_sent.
This commit is contained in:
parent
8e2949e56a
commit
cb4dd56771
@ -409,6 +409,10 @@ static ngx_http_variable_t ngx_http_upstream_vars[] = {
|
||||
ngx_http_upstream_response_length_variable, 1,
|
||||
NGX_HTTP_VAR_NOCACHEABLE, 0 },
|
||||
|
||||
{ ngx_string("upstream_bytes_sent"), NULL,
|
||||
ngx_http_upstream_response_length_variable, 2,
|
||||
NGX_HTTP_VAR_NOCACHEABLE, 0 },
|
||||
|
||||
#if (NGX_HTTP_CACHE)
|
||||
|
||||
{ ngx_string("upstream_cache_status"), NULL,
|
||||
@ -4136,6 +4140,10 @@ ngx_http_upstream_next(ngx_http_request_t *r, ngx_http_upstream_t *u,
|
||||
|
||||
if (u->peer.sockaddr) {
|
||||
|
||||
if (u->peer.connection) {
|
||||
u->state->bytes_sent = u->peer.connection->sent;
|
||||
}
|
||||
|
||||
if (ft_type == NGX_HTTP_UPSTREAM_FT_HTTP_403
|
||||
|| ft_type == NGX_HTTP_UPSTREAM_FT_HTTP_404)
|
||||
{
|
||||
@ -4319,6 +4327,10 @@ ngx_http_upstream_finalize_request(ngx_http_request_t *r,
|
||||
- u->pipe->preread_size;
|
||||
u->state->response_length = u->pipe->read_length;
|
||||
}
|
||||
|
||||
if (u->peer.connection) {
|
||||
u->state->bytes_sent = u->peer.connection->sent;
|
||||
}
|
||||
}
|
||||
|
||||
u->finalize_request(r, rc);
|
||||
@ -5502,6 +5514,9 @@ ngx_http_upstream_response_length_variable(ngx_http_request_t *r,
|
||||
if (data == 1) {
|
||||
p = ngx_sprintf(p, "%O", state[i].bytes_received);
|
||||
|
||||
} else if (data == 2) {
|
||||
p = ngx_sprintf(p, "%O", state[i].bytes_sent);
|
||||
|
||||
} else {
|
||||
p = ngx_sprintf(p, "%O", state[i].response_length);
|
||||
}
|
||||
|
@ -64,6 +64,7 @@ typedef struct {
|
||||
ngx_msec_t queue_time;
|
||||
off_t response_length;
|
||||
off_t bytes_received;
|
||||
off_t bytes_sent;
|
||||
|
||||
ngx_str_t *peer;
|
||||
} ngx_http_upstream_state_t;
|
||||
|
Loading…
Reference in New Issue
Block a user