Mercurial > hg > nginx
comparison src/event/ngx_event.c @ 5115:a29c574d61fa
Status: introduced the "ngx_stat_waiting" counter.
And corresponding variable $connections_waiting was added.
Previously, waiting connections were counted as the difference between
active connections and the sum of reading and writing connections.
That made it impossible to count more than one request in one connection
as reading or writing (as is the case for SPDY).
Also, we no longer count connections in handshake state as waiting.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Fri, 15 Mar 2013 20:00:49 +0000 |
parents | 39c597272c8d |
children | c9fe549b127b |
comparison
equal
deleted
inserted
replaced
5114:a46c1cfe7263 | 5115:a29c574d61fa |
---|---|
71 ngx_atomic_t *ngx_stat_active = &ngx_stat_active0; | 71 ngx_atomic_t *ngx_stat_active = &ngx_stat_active0; |
72 ngx_atomic_t ngx_stat_reading0; | 72 ngx_atomic_t ngx_stat_reading0; |
73 ngx_atomic_t *ngx_stat_reading = &ngx_stat_reading0; | 73 ngx_atomic_t *ngx_stat_reading = &ngx_stat_reading0; |
74 ngx_atomic_t ngx_stat_writing0; | 74 ngx_atomic_t ngx_stat_writing0; |
75 ngx_atomic_t *ngx_stat_writing = &ngx_stat_writing0; | 75 ngx_atomic_t *ngx_stat_writing = &ngx_stat_writing0; |
76 ngx_atomic_t ngx_stat_waiting0; | |
77 ngx_atomic_t *ngx_stat_waiting = &ngx_stat_waiting0; | |
76 | 78 |
77 #endif | 79 #endif |
78 | 80 |
79 | 81 |
80 | 82 |
509 size += cl /* ngx_stat_accepted */ | 511 size += cl /* ngx_stat_accepted */ |
510 + cl /* ngx_stat_handled */ | 512 + cl /* ngx_stat_handled */ |
511 + cl /* ngx_stat_requests */ | 513 + cl /* ngx_stat_requests */ |
512 + cl /* ngx_stat_active */ | 514 + cl /* ngx_stat_active */ |
513 + cl /* ngx_stat_reading */ | 515 + cl /* ngx_stat_reading */ |
514 + cl; /* ngx_stat_writing */ | 516 + cl /* ngx_stat_writing */ |
517 + cl; /* ngx_stat_waiting */ | |
515 | 518 |
516 #endif | 519 #endif |
517 | 520 |
518 shm.size = size; | 521 shm.size = size; |
519 shm.name.len = sizeof("nginx_shared_zone"); | 522 shm.name.len = sizeof("nginx_shared_zone"); |
556 ngx_stat_handled = (ngx_atomic_t *) (shared + 4 * cl); | 559 ngx_stat_handled = (ngx_atomic_t *) (shared + 4 * cl); |
557 ngx_stat_requests = (ngx_atomic_t *) (shared + 5 * cl); | 560 ngx_stat_requests = (ngx_atomic_t *) (shared + 5 * cl); |
558 ngx_stat_active = (ngx_atomic_t *) (shared + 6 * cl); | 561 ngx_stat_active = (ngx_atomic_t *) (shared + 6 * cl); |
559 ngx_stat_reading = (ngx_atomic_t *) (shared + 7 * cl); | 562 ngx_stat_reading = (ngx_atomic_t *) (shared + 7 * cl); |
560 ngx_stat_writing = (ngx_atomic_t *) (shared + 8 * cl); | 563 ngx_stat_writing = (ngx_atomic_t *) (shared + 8 * cl); |
564 ngx_stat_waiting = (ngx_atomic_t *) (shared + 9 * cl); | |
561 | 565 |
562 #endif | 566 #endif |
563 | 567 |
564 return NGX_OK; | 568 return NGX_OK; |
565 } | 569 } |