[master] 347254847 Add ws_backend_overflow counter

Dag Haavi Finstad daghf at varnish-software.com
Fri Oct 12 14:52:09 UTC 2018


commit 34725484702c144befab1edcf26d79b6280b9bc2
Author: Dag Haavi Finstad <daghf at varnish-software.com>
Date:   Wed Oct 10 13:41:56 2018 +0200

    Add ws_backend_overflow counter

diff --git a/bin/varnishd/VSC_main.vsc b/bin/varnishd/VSC_main.vsc
index 8a2fa4610..d73b84102 100644
--- a/bin/varnishd/VSC_main.vsc
+++ b/bin/varnishd/VSC_main.vsc
@@ -594,6 +594,13 @@
 	Number of times we failed a response due to running out of
 	workspace memory during delivery.
 
+.. varnish_vsc:: ws_backend_overflow
+	:level: diag
+	:group: wrk
+	:oneliner: workspace_backend overflows
+
+	Number of times we ran out of space in workspace_backend.
+
 .. varnish_vsc:: shm_records
 	:level:	diag
 	:oneliner:	SHM records
diff --git a/bin/varnishd/cache/cache_busyobj.c b/bin/varnishd/cache/cache_busyobj.c
index e27431042..1f452d5e4 100644
--- a/bin/varnishd/cache/cache_busyobj.c
+++ b/bin/varnishd/cache/cache_busyobj.c
@@ -167,6 +167,9 @@ VBO_ReleaseBusyObj(struct worker *wrk, struct busyobj **pbo)
 
 	AZ(bo->htc);
 
+	if (WS_Overflowed(bo->ws))
+		wrk->stats->ws_backend_overflow++;
+
 	if (bo->fetch_objcore != NULL) {
 		AN(wrk);
 		(void)HSH_DerefObjCore(wrk, &bo->fetch_objcore,
diff --git a/bin/varnishtest/tests/r01739.vtc b/bin/varnishtest/tests/r01739.vtc
index 843ea6933..6e40741f5 100644
--- a/bin/varnishtest/tests/r01739.vtc
+++ b/bin/varnishtest/tests/r01739.vtc
@@ -27,3 +27,4 @@ client c1 {
 } -run
 
 logexpect l1 -wait
+varnish v1 -expect ws_backend_overflow == 1
diff --git a/bin/varnishtest/tests/r01990.vtc b/bin/varnishtest/tests/r01990.vtc
index d86f61c55..c6a83292c 100644
--- a/bin/varnishtest/tests/r01990.vtc
+++ b/bin/varnishtest/tests/r01990.vtc
@@ -40,3 +40,4 @@ client c1 {
 } -run
 
 logexpect l1 -wait
+varnish v1 -expect ws_backend_overflow == 1


More information about the varnish-commit mailing list