diff --git a/quic/core/qpack/qpack_encoder.cc b/quic/core/qpack/qpack_encoder.cc
index bd16f36..e7593dc 100644
--- a/quic/core/qpack/qpack_encoder.cc
+++ b/quic/core/qpack/qpack_encoder.cc
@@ -36,7 +36,8 @@
     : decoder_stream_error_delegate_(decoder_stream_error_delegate),
       decoder_stream_receiver_(this),
       maximum_blocked_streams_(0),
-      debug_visitor_(nullptr) {
+      debug_visitor_(nullptr),
+      header_list_count_(0) {
   DCHECK(decoder_stream_error_delegate_);
 }
 
@@ -288,6 +289,44 @@
   }
 
   if (debug_visitor_) {
+    ++header_list_count_;
+
+    if (dynamic_table_insertion_blocked) {
+      QUIC_HISTOGRAM_COUNTS(
+          "QuicSession.Qpack.HeaderListCountWhenInsertionBlocked",
+          header_list_count_, /* min = */ 1, /* max = */ 1000,
+          /* bucket_count = */ 50,
+          "The ordinality of a header list within a connection during the "
+          "encoding of which at least one dynamic table insertion was "
+          "blocked.");
+    } else {
+      QUIC_HISTOGRAM_COUNTS(
+          "QuicSession.Qpack.HeaderListCountWhenInsertionNotBlocked",
+          header_list_count_, /* min = */ 1, /* max = */ 1000,
+          /* bucket_count = */ 50,
+          "The ordinality of a header list within a connection during the "
+          "encoding of which no dynamic table insertion was blocked.");
+    }
+
+    if (blocked_stream_limit_exhausted) {
+      QUIC_HISTOGRAM_COUNTS(
+          "QuicSession.Qpack.HeaderListCountWhenBlockedStreamLimited",
+          header_list_count_, /* min = */ 1, /* max = */ 1000,
+          /* bucket_count = */ 50,
+          "The ordinality of a header list within a connection during the "
+          "encoding of which unacknowledged dynamic table entries could not be "
+          "referenced due to the limit on the number of blocked streams.");
+    } else {
+      QUIC_HISTOGRAM_COUNTS(
+          "QuicSession.Qpack.HeaderListCountWhenNotBlockedStreamLimited",
+          header_list_count_, /* min = */ 1, /* max = */ 1000,
+          /* bucket_count = */ 50,
+          "The ordinality of a header list within a connection during the "
+          "encoding of which the limit on the number of blocked streams did "
+          "not "
+          "prevent referencing unacknowledged dynamic table entries.");
+    }
+
     debug_visitor_->OnHeaderListEncoded(dynamic_table_insertion_blocked,
                                         blocked_stream_limit_exhausted);
   }
diff --git a/quic/core/qpack/qpack_encoder.h b/quic/core/qpack/qpack_encoder.h
index c4aaced..6060798 100644
--- a/quic/core/qpack/qpack_encoder.h
+++ b/quic/core/qpack/qpack_encoder.h
@@ -16,6 +16,7 @@
 #include "net/third_party/quiche/src/quic/core/qpack/qpack_header_table.h"
 #include "net/third_party/quiche/src/quic/core/quic_types.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_export.h"
+#include "net/third_party/quiche/src/quic/platform/api/quic_exported_stats.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h"
 
 namespace spdy {
@@ -171,7 +172,9 @@
   QpackHeaderTable header_table_;
   uint64_t maximum_blocked_streams_;
   QpackBlockingManager blocking_manager_;
+  // TODO(bnc): Remove |debug_visitor_|.
   DebugVisitor* debug_visitor_;
+  int header_list_count_;
 };
 
 }  // namespace quic
