Skip to main content

ExecutionTrace

Struct ExecutionTrace 

Source
pub struct ExecutionTrace { /* private fields */ }
Expand description

Execution trace containing recorded operations.

Implementations§

Source§

impl ExecutionTrace

Source

pub fn new() -> Self

Create a new empty trace.

Source

pub fn with_graph_id(self, graph_id: usize) -> Self

Set the graph ID for this trace.

Source

pub fn add_entry(&mut self, entry: TraceEntry)

Add a trace entry.

Source

pub fn entries(&self) -> &[TraceEntry]

Get all trace entries.

Source

pub fn total_duration(&self) -> Duration

Get the total execution duration.

Source

pub fn total_duration_ms(&self) -> f64

Get the total duration in milliseconds.

Source

pub fn entries_for_node(&self, node_id: usize) -> Vec<&TraceEntry>

Get entries for a specific node.

Source

pub fn critical_path(&self) -> Vec<&TraceEntry>

Get the critical path (longest chain of dependent operations).

Uses dependency tracking via input/output tensor IDs to compute the critical path. The critical path is the longest chain of operations where each depends on the previous, determining the minimum possible execution time.

Source

pub fn critical_path_duration(&self) -> Duration

Get the total critical path duration.

Source

pub fn parallelism_factor(&self) -> f64

Calculate the parallelism factor (total work / critical path time). Values > 1 indicate potential for parallel execution.

Source

pub fn slowest_operations(&self, limit: usize) -> Vec<&TraceEntry>

Get operations sorted by duration (slowest first).

Source

pub fn summary(&self) -> TraceSummary

Generate a summary report.

Trait Implementations§

Source§

impl Clone for ExecutionTrace

Source§

fn clone(&self) -> ExecutionTrace

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExecutionTrace

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ExecutionTrace

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V