Enum iai_callgrind_runner::api::EventKind
source · pub enum EventKind {
Show 29 variants
Ir,
SysCount,
SysTime,
SysCpuTime,
Ge,
Dr,
Dw,
I1mr,
ILmr,
D1mr,
DLmr,
D1mw,
DLmw,
L1hits,
LLhits,
RamHits,
TotalRW,
EstimatedCycles,
Bc,
Bcm,
Bi,
Bim,
ILdmr,
DLdmr,
DLdmw,
AcCost1,
AcCost2,
SpLoss1,
SpLoss2,
}api only.Expand description
All EventKinds callgrind produces and additionally some derived events
Depending on the options passed to Callgrind, these are the events that Callgrind can produce. See the Callgrind documentation for details.
Variants§
Ir
The default event. I cache reads (which equals the number of instructions executed)
SysCount
The number of system calls done (–collect-systime=yes)
SysTime
The elapsed time spent in system calls (–collect-systime=yes)
SysCpuTime
The cpu time spent during system calls (–collect-systime=nsec)
Ge
The number of global bus events (–collect-bus=yes)
Dr
D Cache reads (which equals the number of memory reads) (–cache-sim=yes)
Dw
D Cache writes (which equals the number of memory writes) (–cache-sim=yes)
I1mr
I1 cache read misses (–cache-sim=yes)
ILmr
LL cache instruction read misses (–cache-sim=yes)
D1mr
D1 cache read misses (–cache-sim=yes)
DLmr
LL cache data read misses (–cache-sim=yes)
D1mw
D1 cache write misses (–cache-sim=yes)
DLmw
LL cache data write misses (–cache-sim=yes)
L1hits
Derived event showing the L1 hits (–cache-sim=yes)
LLhits
Derived event showing the LL hits (–cache-sim=yes)
RamHits
Derived event showing the RAM hits (–cache-sim=yes)
TotalRW
Derived event showing the total amount of cache reads and writes (–cache-sim=yes)
EstimatedCycles
Derived event showing estimated CPU cycles (–cache-sim=yes)
Bc
Conditional branches executed (–branch-sim=yes)
Bcm
Conditional branches mispredicted (–branch-sim=yes)
Bi
Indirect branches executed (–branch-sim=yes)
Bim
Indirect branches mispredicted (–branch-sim=yes)
ILdmr
Dirty miss because of instruction read (–simulate-wb=yes)
DLdmr
Dirty miss because of data read (–simulate-wb=yes)
DLdmw
Dirty miss because of data write (–simulate-wb=yes)
AcCost1
Counter showing bad temporal locality for L1 caches (–cachuse=yes)
AcCost2
Counter showing bad temporal locality for LL caches (–cachuse=yes)
SpLoss1
Counter showing bad spatial locality for L1 caches (–cachuse=yes)
SpLoss2
Counter showing bad spatial locality for LL caches (–cachuse=yes)
Implementations§
source§impl EventKind
impl EventKind
sourcepub fn is_derived(&self) -> bool
pub fn is_derived(&self) -> bool
Return true if this EventKind is a derived event
Derived events are calculated from Callgrind’s native event types. See also
crate::runner::callgrind::model::Costs::make_summary. Currently all derived events are:
pub fn from_str_ignore_case(value: &str) -> Option<Self>
Trait Implementations§
source§impl<'de> Deserialize<'de> for EventKind
impl<'de> Deserialize<'de> for EventKind
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl JsonSchema for EventKind
impl JsonSchema for EventKind
source§fn schema_name() -> String
fn schema_name() -> String
source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moresource§impl PartialEq for EventKind
impl PartialEq for EventKind
impl Copy for EventKind
impl Eq for EventKind
impl StructuralEq for EventKind
impl StructuralPartialEq for EventKind
Auto Trait Implementations§
impl RefUnwindSafe for EventKind
impl Send for EventKind
impl Sync for EventKind
impl Unpin for EventKind
impl UnwindSafe for EventKind
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
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.