pub enum EventKind {
Show 37 variants
Ir,
Dr,
Dw,
I1mr,
D1mr,
D1mw,
ILmr,
DLmr,
DLmw,
I1MissRate,
LLiMissRate,
D1MissRate,
LLdMissRate,
LLMissRate,
L1hits,
LLhits,
RamHits,
L1HitRate,
LLHitRate,
RamHitRate,
TotalRW,
EstimatedCycles,
SysCount,
SysTime,
SysCpuTime,
Ge,
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)
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)
I1MissRate
I1 cache miss rate (–cache-sim=yes)
LLiMissRate
LL/L2 instructions cache miss rate (–cache-sim=yes)
D1MissRate
D1 cache miss rate (–cache-sim=yes)
LLdMissRate
LL/L2 data cache miss rate (–cache-sim=yes)
LLMissRate
LL/L2 cache miss rate (–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)
L1HitRate
L1 cache hit rate (–cache-sim=yes)
LLHitRate
LL/L2 cache hit rate (–cache-sim=yes)
RamHitRate
RAM hit rate (–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)
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)
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:
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 From<CachegrindMetric> for EventKind
impl From<CachegrindMetric> for EventKind
Source§fn from(value: CachegrindMetric) -> Self
fn from(value: CachegrindMetric) -> Self
Source§impl From<EventKind> for CallgrindMetrics
impl From<EventKind> for CallgrindMetrics
Source§impl IntoEnumIterator for EventKind
impl IntoEnumIterator for EventKind
type Iterator = EventKindIter
fn iter() -> EventKindIter ⓘ
Source§impl JsonSchema for EventKind
impl JsonSchema for EventKind
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl Ord for EventKind
impl Ord for EventKind
Source§impl PartialOrd for EventKind
impl PartialOrd for EventKind
Source§impl RegressionConfig<EventKind> for CallgrindRegressionConfig
Available on crate feature runner only.
impl RegressionConfig<EventKind> for CallgrindRegressionConfig
runner only.Source§fn check(&self, metrics_summary: &MetricsSummary) -> Vec<ToolRegression>
fn check(&self, metrics_summary: &MetricsSummary) -> Vec<ToolRegression>
Check the MetricsSummary for regressions.
The limits for event kinds which are not present in the MetricsSummary are ignored.
Source§fn get_soft_limits(&self) -> &[(EventKind, f64)]
fn get_soft_limits(&self) -> &[(EventKind, f64)]
Source§fn get_hard_limits(&self) -> &[(EventKind, Metric)]
fn get_hard_limits(&self) -> &[(EventKind, Metric)]
Source§fn check_and_print(
&self,
metrics_summary: &MetricsSummary<T>,
) -> Vec<ToolRegression>
fn check_and_print( &self, metrics_summary: &MetricsSummary<T>, ) -> Vec<ToolRegression>
Source§fn check_regressions(
&self,
metrics_summary: &MetricsSummary<T>,
) -> Vec<RegressionMetrics<T>>
fn check_regressions( &self, metrics_summary: &MetricsSummary<T>, ) -> Vec<RegressionMetrics<T>>
RegressionMetricsSource§impl TypeChecker for EventKind
Available on crate feature runner only.
impl TypeChecker for EventKind
runner only.Source§fn is_int(&self) -> bool
fn is_int(&self) -> bool
Metric::IntSource§fn is_float(&self) -> bool
fn is_float(&self) -> bool
Metric::FloatSource§fn verify_metric(&self, metric: Metric) -> bool
fn verify_metric(&self, metric: Metric) -> bool
Metric has the expected metric typeimpl 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§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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