From 677f46301f99528b83178e9f435c24461b8124a8 Mon Sep 17 00:00:00 2001 From: Joonas Koivunen Date: Wed, 31 May 2023 15:34:56 +0300 Subject: [PATCH] try: enclose load operations to initial load span this makes only sense if we would then have a "new span" start after tenants and timelines have been activated, not doing that now. --- pageserver/src/bin/pageserver.rs | 21 +++++++++++++++------ pageserver/src/tenant.rs | 3 +-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/pageserver/src/bin/pageserver.rs b/pageserver/src/bin/pageserver.rs index c412ae38e8..b8880c2c66 100644 --- a/pageserver/src/bin/pageserver.rs +++ b/pageserver/src/bin/pageserver.rs @@ -342,16 +342,24 @@ fn start_pageserver( let (init_done_tx, init_done_rx) = utils::completion::channel(); // Scan the local 'tenants/' directory and start loading the tenants + let span = tracing::info_span!("initial load"); let init_started_at = std::time::Instant::now(); - BACKGROUND_RUNTIME.block_on(mgr::init_tenant_mgr( - conf, - broker_client.clone(), - remote_storage.clone(), - (init_done_tx, init_done_rx.clone()), - ))?; + + // initial load started by initializing tenant manager but stopped when initialization is + // actually complete + BACKGROUND_RUNTIME.block_on( + mgr::init_tenant_mgr( + conf, + broker_client.clone(), + remote_storage.clone(), + (init_done_tx, init_done_rx.clone()), + ) + .instrument(span.clone()), + )?; BACKGROUND_RUNTIME.spawn({ let init_done_rx = init_done_rx.clone(); + async move { init_done_rx.wait().await; @@ -362,6 +370,7 @@ fn start_pageserver( "Initial load completed." ); } + .instrument(span) }); // shared state between the disk-usage backed eviction background task and the http endpoint diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index 1e843e0f9f..37c7806637 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -955,8 +955,7 @@ impl Tenant { Ok(()) } .instrument({ - let span = tracing::info_span!(parent: None, "load", tenant_id=%tenant_id); - span.follows_from(Span::current()); + let span = tracing::info_span!("load", tenant_id=%tenant_id); span }), );