[][src]Struct rustc_data_structures::profiling::SelfProfiler

pub struct SelfProfiler {
    profiler: Profiler<MmapSerializationSink>,
    event_filter_mask: EventFilter,
    string_cache: RwLock<FxHashMap<String, StringId>>,
    query_event_kind: StringId,
    generic_activity_event_kind: StringId,
    incremental_load_result_event_kind: StringId,
    query_blocked_event_kind: StringId,
    query_cache_hit_event_kind: StringId,


profiler: Profiler<MmapSerializationSink>event_filter_mask: EventFilterstring_cache: RwLock<FxHashMap<String, StringId>>query_event_kind: StringIdgeneric_activity_event_kind: StringIdincremental_load_result_event_kind: StringIdquery_blocked_event_kind: StringIdquery_cache_hit_event_kind: StringId


impl SelfProfiler[src]

pub fn new(
    output_directory: &Path,
    crate_name: Option<&str>,
    event_filters: &Option<Vec<String>>
) -> Result<SelfProfiler, Box<dyn Error>>

pub fn alloc_string<STR: SerializableString + ?Sized>(
    s: &STR
) -> StringId

Allocates a new string in the profiling data. Does not do any caching or deduplication.

pub fn get_or_alloc_cached_string<A>(&self, s: A) -> StringId where
    A: Borrow<str> + Into<String>, 

Gets a StringId for the given string. This method makes sure that any strings going through it will only be allocated once in the profiling data.

pub fn map_query_invocation_id_to_string(
    from: QueryInvocationId,
    to: StringId

pub fn bulk_map_query_invocation_id_to_single_string<I>(
    from: I,
    to: StringId
) where
    I: Iterator<Item = QueryInvocationId> + ExactSizeIterator

pub fn query_key_recording_enabled(&self) -> bool[src]

pub fn event_id_builder(&self) -> EventIdBuilder<'_, MmapSerializationSink>[src]

Auto Trait Implementations

impl !RefUnwindSafe for SelfProfiler

impl Send for SelfProfiler

impl Sync for SelfProfiler

impl Unpin for SelfProfiler

impl UnwindSafe for SelfProfiler

Blanket Implementations

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

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

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

impl<'a, T> Captures<'a> for T where
    T: ?Sized

impl<T> Erased for T[src]

impl<T> From<T> for T[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.