azul_webrender

Trait ProfilerHooks

Source
pub trait ProfilerHooks: Send + Sync {
    // Required methods
    fn register_thread(&self, thread_name: &str);
    fn unregister_thread(&self);
    fn begin_marker(&self, label: &CStr);
    fn end_marker(&self, label: &CStr);
    fn event_marker(&self, label: &CStr);
    fn add_text_marker(&self, label: &CStr, text: &str, duration: Duration);
    fn thread_is_being_profiled(&self) -> bool;
}
Expand description

Defines the interface for hooking up an external profiler to WR.

Required Methods§

Source

fn register_thread(&self, thread_name: &str)

Register a thread with the profiler.

Source

fn unregister_thread(&self)

Unregister a thread with the profiler.

Source

fn begin_marker(&self, label: &CStr)

Called at the beginning of a profile scope. The label must be a C string (null terminated).

Source

fn end_marker(&self, label: &CStr)

Called at the end of a profile scope. The label must be a C string (null terminated).

Source

fn event_marker(&self, label: &CStr)

Called to mark an event happening. The label must be a C string (null terminated).

Source

fn add_text_marker(&self, label: &CStr, text: &str, duration: Duration)

Called with a duration to indicate a text marker that just ended. Text markers allow different types of entries to be recorded on the same row in the timeline, by adding labels to the entry.

This variant is also useful when the caller only wants to record events longer than a certain threshold, and thus they don’t know in advance whether the event will qualify.

Source

fn thread_is_being_profiled(&self) -> bool

Returns true if the current thread is being profiled.

Implementors§