tokio/runtime/metrics/
io.rs1#![cfg_attr(not(feature = "net"), allow(dead_code))]
2
3use crate::util::metric_atomics::MetricAtomicU64;
4use std::sync::atomic::Ordering::Relaxed;
5
6#[derive(Default)]
7pub(crate) struct IoDriverMetrics {
8 pub(super) fd_registered_count: MetricAtomicU64,
9 pub(super) fd_deregistered_count: MetricAtomicU64,
10 pub(super) ready_count: MetricAtomicU64,
11}
12
13impl IoDriverMetrics {
14 pub(crate) fn incr_fd_count(&self) {
15 self.fd_registered_count.add(1, Relaxed);
16 }
17
18 pub(crate) fn dec_fd_count(&self) {
19 self.fd_deregistered_count.add(1, Relaxed);
20 }
21
22 pub(crate) fn incr_ready_count_by(&self, amt: u64) {
23 self.ready_count.add(amt, Relaxed);
24 }
25}