Struct rustc_data_structures::profiling::SelfProfiler
source · pub struct SelfProfiler {
profiler: Profiler,
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,
incremental_result_hashing_event_kind: StringId,
query_blocked_event_kind: StringId,
query_cache_hit_event_kind: StringId,
artifact_size_event_kind: StringId,
}
Fields§
§profiler: Profiler
§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
§incremental_result_hashing_event_kind: StringId
§query_blocked_event_kind: StringId
§query_cache_hit_event_kind: StringId
§artifact_size_event_kind: StringId
Implementations§
source§impl SelfProfiler
impl SelfProfiler
pub fn new( output_directory: &Path, crate_name: Option<&str>, event_filters: Option<&[String]>, counter_name: &str ) -> Result<SelfProfiler, Box<dyn Error + Send + Sync>>
sourcepub fn alloc_string<STR: SerializableString + ?Sized>(
&self,
s: &STR
) -> StringId
pub fn alloc_string<STR: SerializableString + ?Sized>( &self, s: &STR ) -> StringId
Allocates a new string in the profiling data. Does not do any caching or deduplication.
sourcepub fn get_or_alloc_cached_string<A>(&self, s: A) -> StringId
pub fn get_or_alloc_cached_string<A>(&self, s: A) -> StringId
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( &self, from: QueryInvocationId, to: StringId )
pub fn bulk_map_query_invocation_id_to_single_string<I>( &self, from: I, to: StringId )
pub fn query_key_recording_enabled(&self) -> bool
pub fn event_id_builder(&self) -> EventIdBuilder<'_>
Trait Implementations§
impl DynSend for SelfProfilerwhere
SelfProfiler: Send,
impl DynSync for SelfProfilerwhere
SelfProfiler: Sync,
Auto Trait Implementations§
impl !Freeze for SelfProfiler
impl !RefUnwindSafe for SelfProfiler
impl Send for SelfProfiler
impl Sync for SelfProfiler
impl Unpin for SelfProfiler
impl !UnwindSafe for SelfProfiler
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>
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 192 bytes