Struct rustc_data_structures::profiling::SelfProfilerRef[][src]

pub struct SelfProfilerRef {
    profiler: Option<Arc<SelfProfiler>>,
    event_filter_mask: EventFilter,
    print_verbose_generic_activities: bool,
    print_extra_verbose_generic_activities: bool,
}
Expand description

A reference to the SelfProfiler. It can be cloned and sent across thread boundaries at will.

Fields

profiler: Option<Arc<SelfProfiler>>event_filter_mask: EventFilterprint_verbose_generic_activities: boolprint_extra_verbose_generic_activities: bool

Implementations

Start profiling a verbose generic activity. Profiling continues until the VerboseTimingGuard returned from this call is dropped. In addition to recording a measureme event, “verbose” generic activities also print a timing entry to stdout if the compiler is invoked with -Ztime or -Ztime-passes.

Start profiling an extra verbose generic activity. Profiling continues until the VerboseTimingGuard returned from this call is dropped. In addition to recording a measureme event, “extra verbose” generic activities also print a timing entry to stdout if the compiler is invoked with -Ztime-passes.

Start profiling a generic activity. Profiling continues until the TimingGuard returned from this call is dropped.

Start profiling with some event filter for a given event. Profiling continues until the TimingGuard returned from this call is dropped.

Start profiling a generic activity. Profiling continues until the TimingGuard returned from this call is dropped.

Record the size of an artifact that the compiler produces

artifact_kind is the class of artifact (e.g., query_cache, object_file, etc.) artifact_name is an identifier to the specific artifact being stored (usually a filename)

Start profiling a query provider. Profiling continues until the TimingGuard returned from this call is dropped.

Record a query in-memory cache hit.

Start profiling a query being blocked on a concurrent execution. Profiling continues until the TimingGuard returned from this call is dropped.

Start profiling how long it takes to load a query result from the incremental compilation on-disk cache. Profiling continues until the TimingGuard returned from this call is dropped.

Start profiling how long it takes to hash query results for incremental compilation. Profiling continues until the TimingGuard returned from this call is dropped.

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. Returns None if the self-profiling is not enabled.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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: 16 bytes