Struct tikv::server::load_statistics::ThreadLoadStatistics [−][src]
A Linux-specific ThreadLoadStatistics
. It collects threads load metrics.
Fields
pid: pid_t
tids: Vec<pid_t>
slots: usize
cur_pos: usize
cpu_usages: Vec<f64>
instants: Vec<Instant>
thread_load: Arc<ThreadLoad>
Implementations
impl ThreadLoadStatistics
[src][−]
pub fn new(slots: usize, prefix: &str, thread_load: Arc<ThreadLoad>) -> Self
[src][−]
Create a thread load statistics for all threads with prefix
. ThreadLoad
is stored into
thread_load
. At most slots
old records will be kept, to make the curve more smooth.
Note: call this after the target threads are initialized, otherwise it can’t catch them.
pub fn record(&mut self, instant: Instant)
[src][−]
For every threads with the name prefix given in ThreadLoadStatistics::new
,
gather cpu usage from /proc/<pid>/task/<tid>
and store it in thread_load
passed in ThreadLoadStatistics::new
.
Some old usages and instants (at most slots
) will be kept internal to make
the usage curve more smooth.
Auto Trait Implementations
impl RefUnwindSafe for ThreadLoadStatistics
impl Send for ThreadLoadStatistics
impl Sync for ThreadLoadStatistics
impl Unpin for ThreadLoadStatistics
impl UnwindSafe for ThreadLoadStatistics
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<V, W> ConvertFrom<W> for V where
W: ConvertTo<V>,
[src][+]
W: ConvertTo<V>,
impl<T> From<T> for T
[src][+]
impl<T> Instrument for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> Pointable for T
[src][+]
impl<T> Pointable for T
[src][+]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> Sealed<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,