feat: the status bar and the exit dump report resequencing, holes and stale packets
This commit is contained in:
1 parent
d38ab3f9c9
commit
fc81e661d0
5 files changed
+59
-2
No files matched your search
@@ -195,6 +195,21 @@ struct StreamStats {
|
||||
std::atomic<bool> have_config{false};
|
||||
std::atomic<std::uint64_t> holes{0}; ///< reserved invalidated spans
|
||||
std::atomic<std::uint64_t> hole_slots{0}; ///< stored slots those spans cover
|
||||
/// Out-of-order packets put back in order inside the reorder window: no hole was ever
|
||||
/// seen for these.
|
||||
std::atomic<std::uint64_t> resequenced{0};
|
||||
/// Out-of-order packets delivered behind the sequence, past the window.
|
||||
std::atomic<std::uint64_t> late{0};
|
||||
/// Packets the client still refused outright (a duplicate, or any late packet while
|
||||
/// resequencing is disabled). Counted since the beginning and displayed nowhere until
|
||||
/// now, which is why an inversion had to be inferred from `packets` and `frames`
|
||||
/// diverging.
|
||||
std::atomic<std::uint64_t> stale{0};
|
||||
/// Stored slots a late packet repaired. Declared here rather than with the backfill that
|
||||
/// writes it, because the display segment below is built once and reads it from the start:
|
||||
/// a reading of 0 beside a non-zero `holes` is exactly the honest answer until the
|
||||
/// backfill lands.
|
||||
std::atomic<std::uint64_t> backfilled{0};
|
||||
};
|
||||
|
||||
/// What the plot is showing, which is one decision made once per frame: the bind, the
|
||||
|
||||
Reference in new issue
Block a user