Skip to content

Commit

Permalink
Show staked vs nonstaked packets sent down/throttled (#600)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
lijunwangs authored and mergify[bot] committed Apr 5, 2024
1 parent a093e23 commit 6deef6b
Show file tree
Hide file tree
Showing 2 changed files with 91 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 @@ -756,6 +756,18 @@ async fn handle_connection(
>= max_streams_per_throttling_interval
{
stats.throttled_streams.fetch_add(1, Ordering::Relaxed);
match params.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 @@ -923,6 +935,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
66 changes: 66 additions & 0 deletions streamer/src/quic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,15 @@ pub struct StreamStats {
pub(crate) stream_load_ema: AtomicUsize,
pub(crate) stream_load_ema_overflow: AtomicUsize,
pub(crate) stream_load_capacity_overflow: AtomicUsize,
<<<<<<< HEAD
=======
pub(crate) process_sampled_packets_us_hist: Mutex<histogram::Histogram>,
pub(crate) perf_track_overhead_us: AtomicU64,
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,
>>>>>>> b443cfb0c7 (Show staked vs nonstaked packets sent down/throttled (#600))
}

impl StreamStats {
Expand Down Expand Up @@ -333,6 +342,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 @@ -429,6 +450,51 @@ impl StreamStats {
self.stream_load_capacity_overflow.load(Ordering::Relaxed),
i64
),
<<<<<<< HEAD
=======
(
"throttled_unstaked_streams",
self.throttled_unstaked_streams.swap(0, Ordering::Relaxed),
i64
),
(
"throttled_staked_streams",
self.throttled_staked_streams.swap(0, Ordering::Relaxed),
i64
),
(
"process_sampled_packets_us_90pct",
process_sampled_packets_us_hist
.percentile(90.0)
.unwrap_or(0),
i64
),
(
"process_sampled_packets_us_min",
process_sampled_packets_us_hist.minimum().unwrap_or(0),
i64
),
(
"process_sampled_packets_us_max",
process_sampled_packets_us_hist.maximum().unwrap_or(0),
i64
),
(
"process_sampled_packets_us_mean",
process_sampled_packets_us_hist.mean().unwrap_or(0),
i64
),
(
"process_sampled_packets_count",
process_sampled_packets_us_hist.entries(),
i64
),
(
"perf_track_overhead_us",
self.perf_track_overhead_us.swap(0, Ordering::Relaxed),
i64
),
>>>>>>> b443cfb0c7 (Show staked vs nonstaked packets sent down/throttled (#600))
);
}
}
Expand Down

0 comments on commit 6deef6b

Please sign in to comment.