pub struct FlameGraphProfiler { /* private fields */ }Expand description
Advanced flame graph profiler
Implementations§
Source§impl FlameGraphProfiler
impl FlameGraphProfiler
Sourcepub fn new(config: FlameGraphConfig) -> Self
pub fn new(config: FlameGraphConfig) -> Self
Create a new flame graph profiler
Sourcepub fn start_sampling(&mut self) -> Result<()>
pub fn start_sampling(&mut self) -> Result<()>
Start profiling with sampling
Sourcepub fn stop_sampling(&mut self) -> Result<()>
pub fn stop_sampling(&mut self) -> Result<()>
Stop profiling and build flame graph
Sourcepub fn add_sample(&mut self, sample: FlameGraphSample)
pub fn add_sample(&mut self, sample: FlameGraphSample)
Add a sample to the profiler
Sourcepub fn sample_current_stack(&mut self, duration_ns: u64) -> Result<()>
pub fn sample_current_stack(&mut self, duration_ns: u64) -> Result<()>
Add a sample from current stack trace
Sourcepub fn sample_gpu_kernel(&mut self, kernel_name: &str, duration_ns: u64)
pub fn sample_gpu_kernel(&mut self, kernel_name: &str, duration_ns: u64)
Add GPU kernel sample
Sourcepub fn set_baseline(&mut self)
pub fn set_baseline(&mut self)
Set baseline for differential analysis
Sourcepub fn build_flame_graph(&mut self) -> Result<()>
pub fn build_flame_graph(&mut self) -> Result<()>
Build flame graph from collected samples
Sourcepub async fn export(
&self,
format: FlameGraphExportFormat,
output_path: &Path,
) -> Result<()>
pub async fn export( &self, format: FlameGraphExportFormat, output_path: &Path, ) -> Result<()>
Export flame graph to various formats
Sourcepub fn get_analysis_report(&self) -> FlameGraphAnalysisReport
pub fn get_analysis_report(&self) -> FlameGraphAnalysisReport
Get flame graph analysis report
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FlameGraphProfiler
impl RefUnwindSafe for FlameGraphProfiler
impl Send for FlameGraphProfiler
impl Sync for FlameGraphProfiler
impl Unpin for FlameGraphProfiler
impl UnwindSafe for FlameGraphProfiler
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.