diff --git a/streamer/src/nonblocking/quic.rs b/streamer/src/nonblocking/quic.rs
index a3d2d4fa16..38200ea15f 100644
--- a/streamer/src/nonblocking/quic.rs
+++ b/streamer/src/nonblocking/quic.rs
@@ -798,6 +798,18 @@ async fn handle_connection(
                         streams_in_current_interval = 0;
                     } else if streams_in_current_interval >= max_streams_per_100ms {
                         stats.throttled_streams.fetch_add(1, Ordering::Relaxed);
+                        match peer_type {
+                            ConnectionPeerType::Unstaked => {
+                                stats
+                                    .throttled_unstaked_streams
+                                    .fetch_add(1, Ordering::Relaxed);
+                            }
+                            ConnectionPeerType::Staked => {
+                                stats
+                                    .throttled_staked_streams
+                                    .fetch_add(1, Ordering::Relaxed);
+                            }
+                        }
                         let _ = stream.stop(VarInt::from_u32(STREAM_STOP_CODE_THROTTLING));
                         continue;
                     }
@@ -966,6 +978,19 @@ async fn handle_chunk(
                             .total_chunks_sent_for_batching
                             .fetch_add(chunks_sent, Ordering::Relaxed);
 
+                        match peer_type {
+                            ConnectionPeerType::Unstaked => {
+                                stats
+                                    .total_unstaked_packets_sent_for_batching
+                                    .fetch_add(1, Ordering::Relaxed);
+                            }
+                            ConnectionPeerType::Staked => {
+                                stats
+                                    .total_staked_packets_sent_for_batching
+                                    .fetch_add(1, Ordering::Relaxed);
+                            }
+                        }
+
                         trace!("sent {} byte packet for batching", bytes_sent);
                     }
                 } else {
diff --git a/streamer/src/quic.rs b/streamer/src/quic.rs
index 8b2b4f9d85..1ac2be7f7e 100644
--- a/streamer/src/quic.rs
+++ b/streamer/src/quic.rs
@@ -157,6 +157,10 @@ pub struct StreamStats {
     pub(crate) connection_removed: AtomicUsize,
     pub(crate) connection_remove_failed: AtomicUsize,
     pub(crate) throttled_streams: AtomicUsize,
+    pub(crate) total_staked_packets_sent_for_batching: AtomicUsize,
+    pub(crate) total_unstaked_packets_sent_for_batching: AtomicUsize,
+    pub(crate) throttled_staked_streams: AtomicUsize,
+    pub(crate) throttled_unstaked_streams: AtomicUsize,
 }
 
 impl StreamStats {
@@ -311,6 +315,18 @@ impl StreamStats {
                     .swap(0, Ordering::Relaxed),
                 i64
             ),
+            (
+                "staked_packets_sent_for_batching",
+                self.total_staked_packets_sent_for_batching
+                    .swap(0, Ordering::Relaxed),
+                i64
+            ),
+            (
+                "unstaked_packets_sent_for_batching",
+                self.total_unstaked_packets_sent_for_batching
+                    .swap(0, Ordering::Relaxed),
+                i64
+            ),
             (
                 "bytes_sent_for_batching",
                 self.total_bytes_sent_for_batching
@@ -392,6 +408,16 @@ impl StreamStats {
                 self.throttled_streams.swap(0, Ordering::Relaxed),
                 i64
             ),
+            (
+                "throttled_unstaked_streams",
+                self.throttled_unstaked_streams.swap(0, Ordering::Relaxed),
+                i64
+            ),
+            (
+                "throttled_staked_streams",
+                self.throttled_staked_streams.swap(0, Ordering::Relaxed),
+                i64
+            ),
         );
     }
 }