pub struct GraphAnalysis { /* private fields */ }Expand description
Graph analysis module.
Provides ownership and relationship graph analysis.
Implementations§
Source§impl GraphAnalysis
impl GraphAnalysis
Sourcepub fn from_view(view: &MemoryView) -> Self
pub fn from_view(view: &MemoryView) -> Self
Create from view.
Sourcepub fn cycles(&mut self) -> CycleReport
pub fn cycles(&mut self) -> CycleReport
Detect cycles in ownership graph.
Uses the project’s relation inference system to build actual memory relationships, then applies the existing cycle detection algorithm from RelationGraph::detect_cycles().
Uses lazy initialization to cache the relation graph for efficiency.
Sourcepub fn ownership_stats(&self) -> OwnershipStats
pub fn ownership_stats(&self) -> OwnershipStats
Get ownership statistics.
Sourcepub fn relationship_stats(&mut self) -> RelationshipStats
pub fn relationship_stats(&mut self) -> RelationshipStats
Get relationship statistics from actual graph analysis.
Sourcepub fn relationships(&mut self) -> Vec<RelationshipEdge>
pub fn relationships(&mut self) -> Vec<RelationshipEdge>
Get all relationship edges for visualization.
Returns a list of relationship edges with full allocation info. Limited to 500 edges to avoid performance issues.
Auto Trait Implementations§
impl Freeze for GraphAnalysis
impl RefUnwindSafe for GraphAnalysis
impl Send for GraphAnalysis
impl Sync for GraphAnalysis
impl Unpin for GraphAnalysis
impl UnsafeUnpin for GraphAnalysis
impl UnwindSafe for GraphAnalysis
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> 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