diff --git a/quic/core/congestion_control/bandwidth_sampler.cc b/quic/core/congestion_control/bandwidth_sampler.cc
index ee6d6c1..9bbac4f 100644
--- a/quic/core/congestion_control/bandwidth_sampler.cc
+++ b/quic/core/congestion_control/bandwidth_sampler.cc
@@ -168,7 +168,9 @@
   if (!connection_state_map_.IsEmpty() &&
       packet_number >
           connection_state_map_.last_packet() + max_tracked_packets_) {
-    if (unacked_packet_map_ != nullptr) {
+    if (unacked_packet_map_ != nullptr && !unacked_packet_map_->empty()) {
+      QuicPacketNumber maybe_least_unacked =
+          unacked_packet_map_->GetLeastUnacked();
       QUIC_BUG << "BandwidthSampler in-flight packet map has exceeded maximum "
                   "number of tracked packets("
                << max_tracked_packets_
@@ -179,7 +181,21 @@
                << "; number_of_present_entries: "
                << connection_state_map_.number_of_present_entries()
                << "; packet number: " << packet_number
-               << "; unacked_map: " << unacked_packet_map_->DebugString();
+               << "; unacked_map: " << unacked_packet_map_->DebugString()
+               << "; total_bytes_sent: " << total_bytes_sent_
+               << "; total_bytes_acked: " << total_bytes_acked_
+               << "; total_bytes_lost: " << total_bytes_lost_
+               << "; total_bytes_neutered: " << total_bytes_neutered_
+               << "; last_acked_packet_sent_time: "
+               << last_acked_packet_sent_time_
+               << "; total_bytes_sent_at_last_acked_packet: "
+               << total_bytes_sent_at_last_acked_packet_
+               << "; least_unacked_packet_info: "
+               << (unacked_packet_map_->IsUnacked(maybe_least_unacked)
+                       ? unacked_packet_map_
+                             ->GetTransmissionInfo(maybe_least_unacked)
+                             .DebugString()
+                       : "n/a");
     } else {
       QUIC_BUG << "BandwidthSampler in-flight packet map has exceeded maximum "
                   "number of tracked packets.";
diff --git a/quic/core/quic_transmission_info.cc b/quic/core/quic_transmission_info.cc
index 3d33c99..e4295f7 100644
--- a/quic/core/quic_transmission_info.cc
+++ b/quic/core/quic_transmission_info.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include "net/third_party/quiche/src/quic/core/quic_transmission_info.h"
+#include "absl/strings/str_cat.h"
 
 namespace quic {
 
@@ -36,4 +37,19 @@
 
 QuicTransmissionInfo::~QuicTransmissionInfo() {}
 
+std::string QuicTransmissionInfo::DebugString() const {
+  return absl::StrCat(
+      "{sent_time: ", sent_time.ToDebuggingValue(),
+      ", bytes_sent: ", bytes_sent,
+      ", encryption_level: ", EncryptionLevelToString(encryption_level),
+      ", transmission_type: ", TransmissionTypeToString(transmission_type),
+      ", in_flight: ", in_flight, ", state: ", state,
+      ", has_crypto_handshake: ", has_crypto_handshake,
+      ", has_ack_frequency: ", has_ack_frequency,
+      ", first_sent_after_loss: ", first_sent_after_loss.ToString(),
+      ", largest_acked: ", largest_acked.ToString(),
+      ", retransmittable_frames: ", QuicFramesToString(retransmittable_frames),
+      "}");
+}
+
 }  // namespace quic
diff --git a/quic/core/quic_transmission_info.h b/quic/core/quic_transmission_info.h
index 61d1ad0..2c6110b 100644
--- a/quic/core/quic_transmission_info.h
+++ b/quic/core/quic_transmission_info.h
@@ -32,6 +32,8 @@
 
   ~QuicTransmissionInfo();
 
+  std::string DebugString() const;
+
   QuicFrames retransmittable_frames;
   QuicTime sent_time;
   QuicPacketLength bytes_sent;
