diff --git a/mem-pool.c b/mem-pool.c
index 62441dcc71968f..0fab0a5ef26472 100644
--- a/mem-pool.c
+++ b/mem-pool.c
@@ -7,7 +7,9 @@
 #include "git-compat-util.h"
 #include "mem-pool.h"
 #include "gettext.h"
+#include "trace.h"
 
+static struct trace_key trace_mem_pool = TRACE_KEY_INIT(MEMPOOL);
 #define BLOCK_GROWTH_SIZE (1024 * 1024 - sizeof(struct mp_block))
 
 /*
@@ -65,12 +67,20 @@ void mem_pool_init(struct mem_pool *pool, size_t initial_size)
 
 	if (initial_size > 0)
 		mem_pool_alloc_block(pool, initial_size, NULL);
+
+	trace_printf_key(&trace_mem_pool,
+		"mem_pool (%p): init (%"PRIuMAX") initial size\n",
+		(void *)pool, (uintmax_t)initial_size);
 }
 
 void mem_pool_discard(struct mem_pool *pool, int invalidate_memory)
 {
 	struct mp_block *block, *block_to_free;
 
+	trace_printf_key(&trace_mem_pool,
+		"mem_pool (%p): discard (%"PRIuMAX") unused\n",
+		(void *)pool,
+		(uintmax_t)(pool->mp_block->end - pool->mp_block->next_free));
 	block = pool->mp_block;
 	while (block)
 	{