[master] a4ea4a076 New counter MAIN.pipe_limited

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Mon Apr 15 07:57:07 UTC 2019


commit a4ea4a07618009f7a52c3eb8bbdf24b8a8588796
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date:   Thu Apr 11 19:52:07 2019 +0200

    New counter MAIN.pipe_limited
    
    To keep track of the number of times pipe_sess_max kicked in. This one
    can be lazily updated.

diff --git a/bin/varnishd/VSC_main.vsc b/bin/varnishd/VSC_main.vsc
index 91d17fc8b..0377f9659 100644
--- a/bin/varnishd/VSC_main.vsc
+++ b/bin/varnishd/VSC_main.vsc
@@ -399,6 +399,14 @@
 	:oneliner:	Number of ongoing pipe sessions
 
 
+.. varnish_vsc:: pipe_limited
+	:group: wrk
+	:oneliner:	Pipes hit pipe_sess_max
+
+	Number of times more pipes were needed, but the limit was reached. See
+	also parameter pipe_sess_max.
+
+
 .. varnish_vsc:: s_pipe
 	:group: wrk
 	:oneliner:	Total pipe sessions seen
diff --git a/bin/varnishd/cache/cache_req_fsm.c b/bin/varnishd/cache/cache_req_fsm.c
index 5fb7f615e..eb797917d 100644
--- a/bin/varnishd/cache/cache_req_fsm.c
+++ b/bin/varnishd/cache/cache_req_fsm.c
@@ -710,6 +710,7 @@ cnt_pipe(struct worker *wrk, struct req *req)
 			V1P_Leave();
 			break;
 		}
+		wrk->stats->pipe_limited++;
 		/* fall through */
 	case VCL_RET_FAIL:
 		req->req_step = R_STP_VCLFAIL;
diff --git a/bin/varnishtest/tests/v00059.vtc b/bin/varnishtest/tests/v00059.vtc
index 2b8e24148..26282201d 100644
--- a/bin/varnishtest/tests/v00059.vtc
+++ b/bin/varnishtest/tests/v00059.vtc
@@ -64,3 +64,4 @@ barrier b2 sync
 varnish v1 -expect MAIN.n_pipe == 1
 barrier b4 sync
 varnish v1 -expect MAIN.n_pipe == 0
+varnish v1 -expect MAIN.pipe_limited == 1


More information about the varnish-commit mailing list