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,
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
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 SelfProfiler
impl Send for SelfProfiler
impl Sync for SelfProfiler
impl Unpin for SelfProfiler
impl !UnwindSafe for SelfProfiler
Blanket Implementations
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: 120 bytes