Skip to content

Commit

Permalink
v1.17: Show staked vs nonstaked packets sent down/throttled (backport…
Browse files Browse the repository at this point in the history
… of #600) (#613)

* Show staked vs nonstaked packets sent down/throttled (#600)

* Show staked vs nonstaked packets sent down

* add metrics on throttled staked vs non-staked

(cherry picked from commit b443cfb)

# Conflicts:
#	streamer/src/quic.rs

* fix merge conflicts

---------

Co-authored-by: Lijun Wang <[email protected]>
Co-authored-by: HaoranYi <[email protected]>
  • Loading branch information
3 people authored and yihau committed Apr 11, 2024
1 parent 3822ac2 commit d0b1f2c
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
25 changes: 25 additions & 0 deletions streamer/src/nonblocking/quic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down Expand Up @@ -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 {
Expand Down
26 changes: 26 additions & 0 deletions streamer/src/quic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
),
);
}
}
Expand Down

0 comments on commit d0b1f2c

Please sign in to comment.