Struct rustc_data_structures::profiling::SelfProfiler [−][src]
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,
query_blocked_event_kind: StringId,
query_cache_hit_event_kind: StringId,
}Fields
profiler: Profilerevent_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: StringIdImplementations
pub fn new(
output_directory: &Path,
crate_name: Option<&str>,
event_filters: &Option<Vec<String>>
) -> Result<SelfProfiler, Box<dyn Error + Send + Sync>>Allocates a new string in the profiling data. Does not do any caching or deduplication.
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 bulk_map_query_invocation_id_to_single_string<I>(
&self,
from: I,
to: StringId
) where
I: Iterator<Item = QueryInvocationId> + ExactSizeIterator, Auto Trait Implementations
impl !RefUnwindSafe for SelfProfilerimpl Send for SelfProfilerimpl Sync for SelfProfilerimpl Unpin for SelfProfilerimpl !UnwindSafe for SelfProfilerBlanket Implementations
Layout
Note: Most layout information is completely unstable and may be different between compiler versions and platforms. 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: 112 bytes