Struct tikv::coprocessor::tracker::Tracker [−][src]
Track coprocessor requests to update statistics and provide slow logs.
Fields
request_begin_at: Instant
current_stage: TrackerState
wait_time: Duration
schedule_wait_time: Duration
snapshot_wait_time: Duration
handler_build_time: Duration
req_lifetime: Duration
item_suspend_time: Duration
total_suspend_time: Duration
item_process_time: Duration
total_process_time: Duration
total_storage_stats: Statistics
total_perf_stats: PerfStatisticsDelta
slow_log_threshold: Duration
req_ctx: ReqContext
Implementations
impl Tracker
[src][−]
pub fn new(req_ctx: ReqContext, slow_log_threshold: Duration) -> Tracker
[src][−]
Initialize the tracker. Normally it is called outside future pool’s factory context, because the future pool might be full and we need to wait it. This kind of wait time has to be recorded.
pub fn on_scheduled(&mut self)
[src]
pub fn on_snapshot_finished(&mut self)
[src]
pub fn on_begin_all_items(&mut self)
[src]
pub fn on_begin_item(&mut self)
[src]
pub fn on_finish_item(
&mut self,
some_storage_stats: Option<Statistics>,
perf_statistics: PerfStatisticsDelta
)
[src]
&mut self,
some_storage_stats: Option<Statistics>,
perf_statistics: PerfStatisticsDelta
)
pub fn collect_storage_statistics(&mut self, storage_stats: Statistics)
[src]
pub fn get_item_exec_details(&self) -> (ExecDetails, ExecDetailsV2)
[src][−]
Get current item’s ExecDetail according to previous collected metrics. TiDB asks for ExecDetail to be printed in its log. WARN: TRY BEST NOT TO USE THIS FUNCTION.
pub fn get_exec_details(&self) -> (ExecDetails, ExecDetailsV2)
[src][−]
Get ExecDetail according to previous collected metrics. TiDB asks for ExecDetail to be printed in its log.
fn exec_details(&self, measure: Duration) -> (ExecDetails, ExecDetailsV2)
[src]
pub fn on_finish_all_items(&mut self)
[src]
fn track(&mut self)
[src]
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Tracker
impl Send for Tracker
impl Sync for Tracker
impl Unpin for Tracker
impl UnwindSafe for Tracker
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>,