diff --git a/crates/openshell-server/src/compute/mod.rs b/crates/openshell-server/src/compute/mod.rs index 25a2655a7..e0b1f9f2b 100644 --- a/crates/openshell-server/src/compute/mod.rs +++ b/crates/openshell-server/src/compute/mod.rs @@ -6148,6 +6148,17 @@ mod tests { .await .unwrap(); + tokio::time::timeout(Duration::from_secs(5), async { + while traced + .spans_named("driver_watch.sandbox_deleted") + .is_empty() + { + tokio::time::sleep(Duration::from_millis(10)).await; + } + }) + .await + .expect("the event records a span of its own"); + let spans = traced.finished_spans(); let root = spans .iter() @@ -6193,9 +6204,14 @@ mod tests { .await .unwrap(); - // Other tests drive their own reconcile loops into the shared - // exporter, so match on the shape of a sweep rather than assuming - // there is exactly one. + tokio::time::timeout(Duration::from_secs(5), async { + while traced.spans_named("reconcile.sandboxes").is_empty() { + tokio::time::sleep(Duration::from_millis(10)).await; + } + }) + .await + .expect("the sweep records a span of its own"); + let spans = traced.finished_spans(); let roots = traced.spans_named("reconcile.sandboxes"); assert!( diff --git a/crates/openshell-server/src/provider_refresh.rs b/crates/openshell-server/src/provider_refresh.rs index a03fdb0b1..ff9bbac6a 100644 --- a/crates/openshell-server/src/provider_refresh.rs +++ b/crates/openshell-server/src/provider_refresh.rs @@ -1026,6 +1026,7 @@ async fn run_refresh_worker_tick(store: &Store) -> Result<(), Status> { let span = tracing::Span::current(); span.record("watched_count", watched_count); span.record("due_count", due_count); + drop(span); info!( watched_count, due_count, rotation_requested_count, "provider credential refresh worker sweep" @@ -1534,6 +1535,17 @@ mod tests { let traced = test_exporter::install_traced(); run_refresh_worker_tick(&store).await.unwrap(); + tokio::time::timeout(std::time::Duration::from_secs(5), async { + while traced + .spans_named("refresh.provider_credentials") + .is_empty() + { + tokio::time::sleep(std::time::Duration::from_millis(10)).await; + } + }) + .await + .expect("the tick records a span of its own"); + let spans = traced.finished_spans(); let root = spans .iter()