tokio/runtime/metrics/
io.rs

1#![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}