pub enum EventKind {
Show 29 variants
Ir,
SysCount,
SysTime,
SysCpuTime,
Ge,
Dr,
Dw,
I1mr,
D1mr,
D1mw,
ILmr,
DLmr,
DLmw,
L1hits,
LLhits,
RamHits,
TotalRW,
EstimatedCycles,
Bc,
Bcm,
Bi,
Bim,
ILdmr,
DLdmr,
DLdmw,
AcCost1,
AcCost2,
SpLoss1,
SpLoss2,
}
api
only.Expand description
All EventKind
s 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)
D1mr
D1 cache read misses (–cache-sim=yes)
D1mw
D1 cache write misses (–cache-sim=yes)
ILmr
LL cache instruction read misses (–cache-sim=yes)
DLmr
LL cache data read 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::Metrics::make_summary
. Currently all derived events
are:
pub fn from_str_ignore_case(value: &str) -> Option<Self>
pub fn to_name(&self) -> String
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 moreimpl Copy for EventKind
impl Eq for EventKind
impl StructuralPartialEq for EventKind
Auto Trait Implementations§
impl Freeze for EventKind
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more