diff --git a/Cargo.lock b/Cargo.lock index e855178f2..e767e492f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6379,9 +6379,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.44.2" +version = "1.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" +checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" dependencies = [ "backtrace", "bytes", diff --git a/Cargo.toml b/Cargo.toml index 36dda3477..dc41beca9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -371,7 +371,7 @@ version = "0.2.1" # Async runtime [workspace.dependencies.tokio] -version = "1.44.2" +version = "1.45.0" features = ["full"] [workspace.dependencies.tokio-stream] diff --git a/crates/cli/src/telemetry/tokio.rs b/crates/cli/src/telemetry/tokio.rs index 3954d1c50..49c7ac0ef 100644 --- a/crates/cli/src/telemetry/tokio.rs +++ b/crates/cli/src/telemetry/tokio.rs @@ -126,7 +126,6 @@ pub fn observe(metrics: RuntimeMetrics) { .build(); } - #[cfg(tokio_unstable)] { let metrics = metrics.clone(); METER @@ -144,6 +143,19 @@ pub fn observe(metrics: RuntimeMetrics) { .build(); } + #[cfg(tokio_unstable)] + { + let metrics = metrics.clone(); + METER + .u64_observable_counter("tokio_runtime.spawned_tasks_count") + .with_description("The number of tasks spawned in this runtime since it was created.") + .with_unit("{task}") + .with_callback(move |instrument| { + instrument.observe(metrics.spawned_tasks_count(), &[]); + }) + .build(); + } + #[cfg(tokio_unstable)] { let metrics = metrics.clone(); @@ -163,7 +175,6 @@ pub fn observe(metrics: RuntimeMetrics) { .build(); } - #[cfg(tokio_unstable)] { let metrics = metrics.clone(); METER @@ -247,7 +258,6 @@ pub fn observe(metrics: RuntimeMetrics) { .build(); } - #[cfg(tokio_unstable)] { let metrics = metrics.clone(); METER @@ -416,7 +426,6 @@ pub fn observe(metrics: RuntimeMetrics) { } /// Helper to construct a [`KeyValue`] with the worker index. -#[allow(dead_code)] fn worker_idx(i: usize) -> KeyValue { KeyValue::new("worker_idx", i.try_into().unwrap_or(i64::MAX)) }