diff --git a/syndicate-server/examples/producer.rs b/syndicate-server/examples/producer.rs index cd9098c..598ff22 100644 --- a/syndicate-server/examples/producer.rs +++ b/syndicate-server/examples/producer.rs @@ -32,7 +32,6 @@ fn says(who: AnyValue, what: AnyValue) -> AnyValue { #[tokio::main] async fn main() -> Result<(), Box> { syndicate::convenient_logging()?; - syndicate::actor::start_debt_reporter(); Actor::new().boot(syndicate::name!("producer"), |t| { let ac = t.actor.clone(); let boot_account = Arc::clone(t.account()); diff --git a/syndicate-server/src/main.rs b/syndicate-server/src/main.rs index e51dde9..70f3e68 100644 --- a/syndicate-server/src/main.rs +++ b/syndicate-server/src/main.rs @@ -87,7 +87,20 @@ async fn main() -> Result<(), Box> { tracing::trace!("startup"); if config.debt_reporter { - syndicate::actor::start_debt_reporter(); + Actor::new().boot(syndicate::name!("debt-reporter"), |t| { + t.state.linked_task(syndicate::name!("tick"), async { + let mut timer = tokio::time::interval(core::time::Duration::from_secs(1)); + loop { + timer.tick().await; + for (id, (name, debt)) in syndicate::actor::ACCOUNTS.read().unwrap().iter() { + let _enter = name.enter(); + tracing::info!(id, debt = debug( + debt.load(std::sync::atomic::Ordering::Relaxed))); + } + } + }); + Ok(()) + }); } let ds = Cap::new(&Actor::create_and_start(syndicate::name!("dataspace"), Dataspace::new())); diff --git a/syndicate/src/actor.rs b/syndicate/src/actor.rs index da62a14..5743d61 100644 --- a/syndicate/src/actor.rs +++ b/syndicate/src/actor.rs @@ -376,23 +376,6 @@ preserves_schema::support::lazy_static! { RwLock::new(Map::new()); } -/// Starts a "debt reporter" actor which periodically logs information about active [`Account`]s. -pub fn start_debt_reporter() { - Actor::new().boot(crate::name!("debt-reporter"), |t| { - t.state.linked_task(crate::name!("tick"), async { - let mut timer = tokio::time::interval(core::time::Duration::from_secs(1)); - loop { - timer.tick().await; - for (id, (name, debt)) in ACCOUNTS.read().unwrap().iter() { - let _enter = name.enter(); - tracing::info!(id, debt = debug(debt.load(Ordering::Relaxed))); - } - } - }); - Ok(()) - }); -} - impl TryFrom<&AnyValue> for Synced { type Error = ParseError; fn try_from(value: &AnyValue) -> Result {