pub struct DataIndex {
pub ptr_to_allocation: HashMap<String, Vec<usize>>,
pub thread_id_to_allocations: HashMap<u64, Vec<usize>>,
pub thread_id_to_events: HashMap<u64, Vec<usize>>,
pub type_name_to_allocations: HashMap<String, Vec<usize>>,
pub var_name_to_allocations: HashMap<String, Vec<usize>>,
pub allocation_ptr_to_passport: HashMap<String, Vec<usize>>,
pub allocation_ptr_to_unsafe_reports: HashMap<String, Vec<usize>>,
pub source_location_to_allocations: HashMap<String, Vec<usize>>,
}Expand description
Frontend data index for cross-referencing allocations by various keys.
This index is built once during dashboard initialization and embedded in the JSON payload so the frontend can answer queries without linear scans.
Fields§
§ptr_to_allocation: HashMap<String, Vec<usize>>Maps pointer hex-string to list of allocation indices
thread_id_to_allocations: HashMap<u64, Vec<usize>>Maps thread ID to list of allocation indices
thread_id_to_events: HashMap<u64, Vec<usize>>Maps thread ID to list of event indices
type_name_to_allocations: HashMap<String, Vec<usize>>Maps type name to list of allocation indices
var_name_to_allocations: HashMap<String, Vec<usize>>Maps variable name to list of allocation indices
allocation_ptr_to_passport: HashMap<String, Vec<usize>>Maps allocation pointer to passport index
allocation_ptr_to_unsafe_reports: HashMap<String, Vec<usize>>Maps allocation pointer to unsafe report index
source_location_to_allocations: HashMap<String, Vec<usize>>Maps source location “file:line” to list of allocation indices
Trait Implementations§
Source§impl<'de> Deserialize<'de> for DataIndex
impl<'de> Deserialize<'de> for DataIndex
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for DataIndex
impl RefUnwindSafe for DataIndex
impl Send for DataIndex
impl Sync for DataIndex
impl Unpin for DataIndex
impl UnsafeUnpin for DataIndex
impl UnwindSafe for DataIndex
Blanket Implementations§
Source§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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
Converts
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>
Converts
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