Структура Trace Meta
#[non_exhaustive]pub struct TraceMeta {
pub root_addr: Option<*const c_void>,
pub trace_leaf_addr: *const c_void,
}
Доступно только на
tokio_unstable и Linux, при включённой возможности crate rt и возможности crate taskdump, а также (AArch64, s390x, x86 или x86-64).Метаданные, передаваемые в callback trace_leaf для trace_with
Поля (неисчерпывающая структура)
В будущем в неисчерпывающие структуры могут быть добавлены дополнительные поля. Поэтому неисчерпывающие структуры нельзя создавать во внешних crate с помощью традиционного синтаксиса
Struct { .. }; сопоставлять с ними без шаблона ..; а синтаксис обновления структуры работать не будет.root_addr: Option<*const c_void>Адрес корневой границы, заданный методом Root::poll, если он есть.
При раскрутке стека это адрес, на котором следует остановить обход стека. Он соответствует указателю на функцию Root::poll.
trace_leaf_addr: *const c_voidАдрес внутренней функции trace_leaf, вызвавшей этот callback.
При сборе обратной трассировки используйте этот адрес как нижнюю границу — кадры по этому адресу и ниже являются деталями внутренней реализации и должны быть исключены.
Реализации трейтов
Автоматические реализации трейтов
impl !Send for TraceMeta
impl !Sync for TraceMeta
impl Freeze for TraceMeta
impl RefUnwindSafe for TraceMeta
impl Unpin for TraceMeta
impl UnsafeUnpin for TraceMeta
impl UnwindSafe for TraceMeta
Обобщённые реализации
impl<T> BorrowMut<T> for Twhere T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
Изменяемо заимствует принадлежащее значение. Подробнее
impl<T> Instrument for T
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
impl<T> WithSubscriber for T
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Присоединяет текущий стандартный
Subscriber к этому типу и возвращает обёртку WithDispatch. Подробнее
MIT License
Copyright © Tokio Contributors
https://docs.rs/tokio/1.53.1/tokio/runtime/dump/struct.TraceMeta.html