Index: libcfa/src/concurrency/io.cfa
===================================================================
--- libcfa/src/concurrency/io.cfa	(revision 202c80b7ff747d21357a70dd8206e823ea6353dd)
+++ libcfa/src/concurrency/io.cfa	(revision 54c1196e83fb7fcf9aefbd19a3f711783a2c955f)
@@ -111,4 +111,5 @@
 		// Drain the queue
 		if(!__atomic_try_acquire(&ctx->cq.lock)) {
+			__STATS__( false, io.calls.locked++; )
 			return false;
 		}
@@ -191,4 +192,5 @@
 					if(age > cutoff) {
 						remote = __cfa_do_drain( io.data[target], cltr );
+						if(remote) __STATS__( false, io.calls.helped++; )
 					}
 				}
Index: libcfa/src/concurrency/stats.cfa
===================================================================
--- libcfa/src/concurrency/stats.cfa	(revision 202c80b7ff747d21357a70dd8206e823ea6353dd)
+++ libcfa/src/concurrency/stats.cfa	(revision 54c1196e83fb7fcf9aefbd19a3f711783a2c955f)
@@ -55,4 +55,6 @@
 			stats->io.calls.drain       = 0;
 			stats->io.calls.completed   = 0;
+			stats->io.calls.locked      = 0;
+			stats->io.calls.helped      = 0;
 			stats->io.calls.errors.busy = 0;
 			stats->io.ops.sockread      = 0;
@@ -123,4 +125,6 @@
 			tally_one( &cltr->io.calls.drain      , &proc->io.calls.drain       );
 			tally_one( &cltr->io.calls.completed  , &proc->io.calls.completed   );
+			tally_one( &cltr->io.calls.locked     , &proc->io.calls.locked      );
+			tally_one( &cltr->io.calls.helped     , &proc->io.calls.helped      );
 			tally_one( &cltr->io.calls.errors.busy, &proc->io.calls.errors.busy );
 			tally_one( &cltr->io.ops.sockread     , &proc->io.ops.sockread      );
@@ -205,4 +209,5 @@
 				     |   " sub " | eng3(io.calls.submitted) | "/" | eng3(io.calls.flush) | "(" | ws(3, 3, avgsubs) | "/flush)"
 				     | " - cmp " | eng3(io.calls.completed) | "/" | eng3(io.calls.drain) | "(" | ws(3, 3, avgcomp) | "/drain)"
+				     | " - cmp " | eng3(io.calls.locked) | "locked, " | eng3(io.calls.helped) | "helped"
 				     | " - " | eng3(io.calls.errors.busy) | " EBUSY";
 				sstr | " - sub: " | eng3(io.flush.full) | "full, " | eng3(io.flush.dirty) | "drty, " | eng3(io.flush.idle) | "idle, " | eng3(io.flush.eager) | "eagr, " | eng3(io.flush.external) | "ext";
Index: libcfa/src/concurrency/stats.hfa
===================================================================
--- libcfa/src/concurrency/stats.hfa	(revision 202c80b7ff747d21357a70dd8206e823ea6353dd)
+++ libcfa/src/concurrency/stats.hfa	(revision 54c1196e83fb7fcf9aefbd19a3f711783a2c955f)
@@ -103,4 +103,6 @@
 				volatile uint64_t drain;
 				volatile uint64_t completed;
+				volatile uint64_t locked;
+				volatile uint64_t helped;
 				volatile uint64_t flush;
 				volatile uint64_t submitted;
