#[repr(i32)]pub enum PerfStatsLevel {
Uninitialized = 0,
Disable = 1,
EnableCount = 2,
EnableWait = 3,
EnableTimeExceptForMutex = 4,
EnableTimeAndCPUTimeExceptForMutex = 5,
EnableTime = 6,
OutOfBound = 7,
}Expand description
How much work PerfContext measures.
These values come from PerfLevel in include/rocksdb/perf_level.h, not
from the rocksdb_uninitialized-style constants in c.h. The c.h enum is
stale: it never gained kEnableWait or
kEnableTimeAndCPUTimeExceptForMutex, so from 3 upward its numbering no
longer lines up with the C++ enum. rocksdb_set_perf_level casts straight
to PerfLevel (c.cc:6384) without validating, so the C++ header is what
actually decides behavior. Wiring these to the c.h constants would send
the wrong level.
Variants§
Uninitialized = 0
Unknown settings
Disable = 1
Disable perf stats
EnableCount = 2
Enables only count stats
EnableWait = 3
Enables count stats and time spent waiting for RocksDB work
EnableTimeExceptForMutex = 4
Count stats and enable time stats except for mutexes
EnableTimeAndCPUTimeExceptForMutex = 5
Other than time, also measure CPU time counters. Still don’t measure time (neither wall time nor CPU time) for mutexes
EnableTime = 6
Enables count and time stats
OutOfBound = 7
N.B must always be the last value!
Trait Implementations§
Source§impl Clone for PerfStatsLevel
impl Clone for PerfStatsLevel
Source§fn clone(&self) -> PerfStatsLevel
fn clone(&self) -> PerfStatsLevel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more