pub struct TokioRuntimeMetrics {Show 43 fields
pub workers_count: usize,
pub total_park_count: u64,
pub max_park_count: u64,
pub min_park_count: u64,
pub total_busy_duration: Duration,
pub max_busy_duration: Duration,
pub min_busy_duration: Duration,
pub global_queue_depth: usize,
pub elapsed: Duration,
pub mean_poll_duration: Duration,
pub mean_poll_duration_worker_min: Duration,
pub mean_poll_duration_worker_max: Duration,
pub poll_time_histogram: Vec<u64>,
pub total_noop_count: u64,
pub max_noop_count: u64,
pub min_noop_count: u64,
pub total_steal_count: u64,
pub max_steal_count: u64,
pub min_steal_count: u64,
pub total_steal_operations: u64,
pub max_steal_operations: u64,
pub min_steal_operations: u64,
pub num_remote_schedules: u64,
pub total_local_schedule_count: u64,
pub max_local_schedule_count: u64,
pub min_local_schedule_count: u64,
pub total_overflow_count: u64,
pub max_overflow_count: u64,
pub min_overflow_count: u64,
pub total_polls_count: u64,
pub max_polls_count: u64,
pub min_polls_count: u64,
pub total_local_queue_depth: usize,
pub max_local_queue_depth: usize,
pub min_local_queue_depth: usize,
pub blocking_queue_depth: usize,
pub live_tasks_count: usize,
pub blocking_threads_count: usize,
pub idle_blocking_threads_count: usize,
pub budget_forced_yield_count: u64,
pub io_driver_ready_count: u64,
pub mean_polls_per_park: f64,
pub busy_ratio: f64,
}Expand description
Метрики tokio
Fields§
§workers_count: usizeThe number of worker threads used by the runtime.
Ссылка: [tokio_metrics::RuntimeMetrics::workers_count]
total_park_count: u64The number of times worker threads parked.
Ссылка: [tokio_metrics::RuntimeMetrics::total_park_count]
max_park_count: u64The maximum number of times any worker thread parked.
Ссылка: [tokio_metrics::RuntimeMetrics::max_park_count]
min_park_count: u64The minimum number of times any worker thread parked.
Ссылка: [tokio_metrics::RuntimeMetrics::min_park_count]
total_busy_duration: DurationThe amount of time worker threads were busy.
Ссылка: [tokio_metrics::RuntimeMetrics::total_busy_duration]
max_busy_duration: DurationThe maximum amount of time a worker thread was busy.
Ссылка: [tokio_metrics::RuntimeMetrics::max_busy_duration]
min_busy_duration: DurationThe minimum amount of time a worker thread was busy.
Ссылка: [tokio_metrics::RuntimeMetrics::min_busy_duration]
global_queue_depth: usizeThe number of tasks currently scheduled in the runtime’s global queue.
Ссылка: [tokio_metrics::RuntimeMetrics::global_queue_depth]
elapsed: DurationTotal amount of time elapsed since observing runtime metrics.
Ссылка: [tokio_metrics::RuntimeMetrics::elapsed]
mean_poll_duration: DurationThe average duration of a single invocation of poll on a task.
Ссылка: [tokio_metrics::RuntimeMetrics::mean_poll_duration]
mean_poll_duration_worker_min: DurationThe average duration of a single invocation of poll on a task on the worker with the lowest value.
Ссылка: [tokio_metrics::RuntimeMetrics::mean_poll_duration_worker_min]
mean_poll_duration_worker_max: DurationThe average duration of a single invocation of poll on a task on the worker with the highest value.
Ссылка: [tokio_metrics::RuntimeMetrics::mean_poll_duration_worker_max]
poll_time_histogram: Vec<u64>A histogram of task polls since the previous probe grouped by poll times.
total_noop_count: u64The number of times worker threads unparked but performed no work before parking again.
Ссылка: [tokio_metrics::RuntimeMetrics::total_noop_count]
max_noop_count: u64The maximum number of times any worker thread unparked but performed no work before parking again.
Ссылка: [tokio_metrics::RuntimeMetrics::max_noop_count]
min_noop_count: u64The minimum number of times any worker thread unparked but performed no work before parking again.
Ссылка: [tokio_metrics::RuntimeMetrics::min_noop_count]
total_steal_count: u64The number of tasks worker threads stole from another worker thread.
Ссылка: [tokio_metrics::RuntimeMetrics::total_steal_count]
max_steal_count: u64The maximum number of tasks any worker thread stole from another worker thread.
Ссылка: [tokio_metrics::RuntimeMetrics::max_steal_count]
min_steal_count: u64The minimum number of tasks any worker thread stole from another worker thread.
Ссылка: [tokio_metrics::RuntimeMetrics::min_steal_count]
total_steal_operations: u64The number of times worker threads stole tasks from another worker thread.
Ссылка: [tokio_metrics::RuntimeMetrics::total_steal_operations]
max_steal_operations: u64The maximum number of times any worker thread stole tasks from another worker thread.
Ссылка: [tokio_metrics::RuntimeMetrics::max_steal_operations]
min_steal_operations: u64The minimum number of times any worker thread stole tasks from another worker thread.
Ссылка: [tokio_metrics::RuntimeMetrics::min_steal_operations]
num_remote_schedules: u64The number of tasks scheduled from outside of the runtime.
Ссылка: [tokio_metrics::RuntimeMetrics::num_remote_schedules]
total_local_schedule_count: u64The number of tasks scheduled from worker threads.
Ссылка: [tokio_metrics::RuntimeMetrics::total_local_schedule_count]
max_local_schedule_count: u64The maximum number of tasks scheduled from any one worker thread.
Ссылка: [tokio_metrics::RuntimeMetrics::max_local_schedule_count]
min_local_schedule_count: u64The minimum number of tasks scheduled from any one worker thread.
Ссылка: [tokio_metrics::RuntimeMetrics::min_local_schedule_count]
total_overflow_count: u64The number of times worker threads saturated their local queues.
Ссылка: [tokio_metrics::RuntimeMetrics::total_overflow_count]
max_overflow_count: u64The maximum number of times any one worker saturated its local queue.
Ссылка: [tokio_metrics::RuntimeMetrics::max_overflow_count]
min_overflow_count: u64The minimum number of times any one worker saturated its local queue.
Ссылка: [tokio_metrics::RuntimeMetrics::min_overflow_count]
total_polls_count: u64The number of tasks that have been polled across all worker threads.
Ссылка: [tokio_metrics::RuntimeMetrics::total_polls_count]
max_polls_count: u64The maximum number of tasks that have been polled in any worker thread.
Ссылка: [tokio_metrics::RuntimeMetrics::max_polls_count]
min_polls_count: u64The minimum number of tasks that have been polled in any worker thread.
Ссылка: [tokio_metrics::RuntimeMetrics::min_polls_count]
total_local_queue_depth: usizeThe total number of tasks currently scheduled in workers’ local queues.
Ссылка: [tokio_metrics::RuntimeMetrics::total_local_queue_depth]
max_local_queue_depth: usizeThe maximum number of tasks currently scheduled any worker’s local queue.
Ссылка: [tokio_metrics::RuntimeMetrics::max_local_queue_depth]
min_local_queue_depth: usizeThe minimum number of tasks currently scheduled any worker’s local queue.
Ссылка: [tokio_metrics::RuntimeMetrics::min_local_queue_depth]
blocking_queue_depth: usizeThe number of tasks currently waiting to be executed in the runtime’s blocking threadpool.
Ссылка: [tokio_metrics::RuntimeMetrics::blocking_queue_depth]
live_tasks_count: usizeThe current number of alive tasks in the runtime.
Ссылка: [tokio_metrics::RuntimeMetrics::live_tasks_count]
blocking_threads_count: usizeThe number of additional threads spawned by the runtime.
Ссылка: [tokio_metrics::RuntimeMetrics::blocking_threads_count]
idle_blocking_threads_count: usizeThe number of idle threads, which have spawned by the runtime for spawn_blocking calls.
Ссылка: [tokio_metrics::RuntimeMetrics::idle_blocking_threads_count]
budget_forced_yield_count: u64Returns the number of times that tasks have been forced to yield back to the scheduler after exhausting their task budgets.
Ссылка: [tokio_metrics::RuntimeMetrics::budget_forced_yield_count]
io_driver_ready_count: u64Returns the number of ready events processed by the runtime’s I/O driver.
Ссылка: [tokio_metrics::RuntimeMetrics::io_driver_ready_count]
mean_polls_per_park: f64Returns the ratio of the total_polls_count to the total_noop_count.
busy_ratio: f64Returns the ratio of the total_busy_duration to the elapsed.
Implementations§
Source§impl TokioRuntimeMetrics
impl TokioRuntimeMetrics
Sourcepub fn tsdb_fields() -> Vec<ConfigTableField>
pub fn tsdb_fields() -> Vec<ConfigTableField>
Конфигурация полей базы данных
Trait Implementations§
Source§impl Clone for TokioRuntimeMetrics
impl Clone for TokioRuntimeMetrics
Source§fn clone(&self) -> TokioRuntimeMetrics
fn clone(&self) -> TokioRuntimeMetrics
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TokioRuntimeMetrics
impl Debug for TokioRuntimeMetrics
Source§impl<'de> Deserialize<'de> for TokioRuntimeMetrics
impl<'de> Deserialize<'de> for TokioRuntimeMetrics
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<RuntimeMetrics> for TokioRuntimeMetrics
Available on crate feature log_tokio only.
impl From<RuntimeMetrics> for TokioRuntimeMetrics
log_tokio only.Source§impl PartialEq for TokioRuntimeMetrics
impl PartialEq for TokioRuntimeMetrics
Source§impl Serialize for TokioRuntimeMetrics
impl Serialize for TokioRuntimeMetrics
impl StructuralPartialEq for TokioRuntimeMetrics
Auto Trait Implementations§
impl Freeze for TokioRuntimeMetrics
impl RefUnwindSafe for TokioRuntimeMetrics
impl Send for TokioRuntimeMetrics
impl Sync for TokioRuntimeMetrics
impl Unpin for TokioRuntimeMetrics
impl UnsafeUnpin for TokioRuntimeMetrics
impl UnwindSafe for TokioRuntimeMetrics
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Erasable for T
impl<T> Erasable for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.