add some usage stats output on the mutex maps

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-07-09 21:22:44 +00:00
parent 271f720286
commit 2a304c2b6c
3 changed files with 26 additions and 0 deletions

View file

@ -3,6 +3,7 @@ mod signing_keys;
use std::{ use std::{
collections::{hash_map, BTreeMap, HashMap, HashSet}, collections::{hash_map, BTreeMap, HashMap, HashSet},
fmt::Write,
pin::Pin, pin::Pin,
sync::{Arc, RwLock as StdRwLock}, sync::{Arc, RwLock as StdRwLock},
time::Instant, time::Instant,
@ -61,6 +62,20 @@ impl crate::Service for Service {
})) }))
} }
fn memory_usage(&self, out: &mut dyn Write) -> Result<()> {
let mutex_federation = self.mutex_federation.len();
writeln!(out, "federation_mutex: {mutex_federation}")?;
let federation_handletime = self
.federation_handletime
.read()
.expect("locked for reading")
.len();
writeln!(out, "federation_handletime: {federation_handletime}")?;
Ok(())
}
fn name(&self) -> &str { crate::service::make_name(std::module_path!()) } fn name(&self) -> &str { crate::service::make_name(std::module_path!()) }
} }

View file

@ -2,6 +2,7 @@ mod data;
use std::{ use std::{
collections::{HashMap, HashSet}, collections::{HashMap, HashSet},
fmt::Write,
sync::Arc, sync::Arc,
}; };
@ -40,6 +41,13 @@ impl crate::Service for Service {
})) }))
} }
fn memory_usage(&self, out: &mut dyn Write) -> Result<()> {
let mutex = self.mutex.len();
writeln!(out, "state_mutex: {mutex}")?;
Ok(())
}
fn name(&self) -> &str { crate::service::make_name(std::module_path!()) } fn name(&self) -> &str { crate::service::make_name(std::module_path!()) }
} }

View file

@ -92,6 +92,9 @@ impl crate::Service for Service {
.len(); .len();
writeln!(out, "lasttimelinecount_cache: {lasttimelinecount_cache}")?; writeln!(out, "lasttimelinecount_cache: {lasttimelinecount_cache}")?;
let mutex_insert = self.mutex_insert.len();
writeln!(out, "insert_mutex: {mutex_insert}")?;
Ok(()) Ok(())
} }