Additional instrumentation around global counter events.
This commit is contained in:
@@ -150,7 +150,7 @@ impl<F: Fn(u64) -> Result + Sync> State<F> {
|
||||
.remove(index)
|
||||
.expect("sequence number at index must be removed");
|
||||
|
||||
debug_assert!(removed == id, "sequence number removed must match id");
|
||||
debug_assert_eq!(removed, id, "sequence number removed must match id");
|
||||
|
||||
// release only occurs when the oldest value retires
|
||||
if index != 0 {
|
||||
@@ -160,6 +160,8 @@ impl<F: Fn(u64) -> Result + Sync> State<F> {
|
||||
// release occurs for the maximum retired value
|
||||
let release = if self.pending.is_empty() { self.dispatched } else { id };
|
||||
|
||||
debug_assert!(release >= id, "sequence number released must not be less than id");
|
||||
|
||||
(self.release)(release).expect("release callback should not error");
|
||||
}
|
||||
|
||||
|
||||
@@ -72,12 +72,14 @@ impl Data {
|
||||
#[inline]
|
||||
pub(super) fn pending_count(&self) -> Range<u64> { self.counter.range() }
|
||||
|
||||
#[tracing::instrument(name = "retire", level = "debug", skip(sender))]
|
||||
fn handle_retire(sender: &Sender<u64>, count: u64) -> Result {
|
||||
let _prev = sender.send_replace(count);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[tracing::instrument(name = "dispatch", level = "debug", skip(db, global))]
|
||||
fn store_count(db: &Arc<Database>, global: &Arc<Map>, count: u64) -> Result {
|
||||
let _cork = db.cork();
|
||||
global.insert(COUNTER, count.to_be_bytes());
|
||||
|
||||
Reference in New Issue
Block a user