diff --git a/src/core/alloc/je.rs b/src/core/alloc/je.rs index 78e68110..ea14a5a7 100644 --- a/src/core/alloc/je.rs +++ b/src/core/alloc/je.rs @@ -304,6 +304,12 @@ pub fn stats_reset() -> Result { notify(&mallctl!("stats.mutexes.reset")) } pub fn prof_reset() -> Result { notify(&mallctl!("prof.reset")) } +pub fn prof_dump() -> Result { notify(&mallctl!("prof.dump")) } + +pub fn prof_gdump(enable: bool) -> Result { + set::(&mallctl!("prof.gdump"), enable.into()).map(is_nonzero!()) +} + pub fn prof_enable(enable: bool) -> Result { set::(&mallctl!("prof.active"), enable.into()).map(is_nonzero!()) } @@ -312,6 +318,10 @@ pub fn is_prof_enabled() -> Result { get::(&mallctl!("prof.active")).map(is_nonzero!()) } +pub fn prof_interval() -> Result { + get::(&mallctl!("prof.interval")).and_then(math::try_into) +} + pub fn trim> + Copy>(arena: I) -> Result { decay(arena).and_then(|()| purge(arena)) }