From 7f3459f5a88e09b046f16611aaca24624ac8b3dc Mon Sep 17 00:00:00 2001 From: houseme Date: Sun, 15 Mar 2026 00:33:06 +0800 Subject: [PATCH] fix(obs): fixed unresolved import `super::local::ensure_dir_permissions` (#2164) --- Cargo.lock | 27 +++++++++++++-------------- crates/obs/src/telemetry/guard.rs | 6 +----- crates/obs/src/telemetry/local.rs | 3 +-- crates/obs/src/telemetry/otel.rs | 9 ++++----- 4 files changed, 19 insertions(+), 26 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1fd209050..63b7f755b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -163,9 +163,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "anstyle-parse" @@ -1361,9 +1361,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.56" +version = "1.2.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" +checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423" dependencies = [ "find-msvc-tools", "jobserver", @@ -1553,9 +1553,9 @@ checksum = "de0758edba32d61d1fd9f4d69491b47604b91ee2f7e6b33de7e54ca4ebe55dc3" [[package]] name = "colorchoice" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" [[package]] name = "combine" @@ -2115,7 +2115,6 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim 0.11.1", "syn 2.0.117", ] @@ -2960,9 +2959,9 @@ dependencies = [ [[package]] name = "derive-where" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef941ded77d15ca19b40374869ac6000af1c9f2a4c0f3d4c70926287e6364a8f" +checksum = "d08b3a0bcc0d079199cd476b2cae8435016ec11d1c0986c6901c5ac223041534" dependencies = [ "proc-macro2", "quote", @@ -8589,9 +8588,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.17.0" +version = "3.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "381b283ce7bc6b476d903296fb59d0d36633652b633b27f64db4fb46dcbfc3b9" +checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" dependencies = [ "base64 0.22.1", "chrono", @@ -8608,11 +8607,11 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.17.0" +version = "3.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6d4e30573c8cb306ed6ab1dca8423eec9a463ea0e155f45399455e0368b27e0" +checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" dependencies = [ - "darling 0.21.3", + "darling 0.23.0", "proc-macro2", "quote", "syn 2.0.117", diff --git a/crates/obs/src/telemetry/guard.rs b/crates/obs/src/telemetry/guard.rs index b36753d73..f91d25ce7 100644 --- a/crates/obs/src/telemetry/guard.rs +++ b/crates/obs/src/telemetry/guard.rs @@ -27,10 +27,6 @@ //! 7. Stdout worker guard — flushes buffered log lines written to stdout. use opentelemetry_sdk::{logs::SdkLoggerProvider, metrics::SdkMeterProvider, trace::SdkTracerProvider}; -#[cfg(unix)] -use pyroscope::PyroscopeAgent; -#[cfg(unix)] -use pyroscope::pyroscope::PyroscopeAgentRunning; /// RAII guard that owns all active OpenTelemetry providers and the /// `tracing_appender` worker guard. @@ -46,7 +42,7 @@ pub struct OtelGuard { /// Optional logger provider for OTLP log export. pub(crate) logger_provider: Option, #[cfg(unix)] - pub(crate) profiling_agent: Option>, + pub(crate) profiling_agent: Option>, /// Handle to the background log-cleanup task; aborted on drop. pub(crate) cleanup_handle: Option>, /// Worker guard that keeps the non-blocking `tracing_appender` thread diff --git a/crates/obs/src/telemetry/local.rs b/crates/obs/src/telemetry/local.rs index 2f3c95a32..64569731d 100644 --- a/crates/obs/src/telemetry/local.rs +++ b/crates/obs/src/telemetry/local.rs @@ -26,6 +26,7 @@ //! The function [`init_local_logging`] is the single entry point for both //! cases; callers do **not** need to distinguish between stdout and file modes. +use super::guard::OtelGuard; use crate::TelemetryError; use crate::cleaner::LogCleaner; use crate::cleaner::types::FileMatchMode; @@ -50,8 +51,6 @@ use tracing_subscriber::{ util::SubscriberInitExt, }; -use super::guard::OtelGuard; - /// Initialize local logging (stdout-only or file-rolling). /// /// When `log_directory` is empty or `None` in the config the function sets up diff --git a/crates/obs/src/telemetry/otel.rs b/crates/obs/src/telemetry/otel.rs index 8797683c8..65f42c462 100644 --- a/crates/obs/src/telemetry/otel.rs +++ b/crates/obs/src/telemetry/otel.rs @@ -32,12 +32,14 @@ //! All exporters use **HTTP binary** (Protobuf) encoding with **gzip** //! compression for efficiency over the wire. -use crate::TelemetryError; use crate::cleaner::types::FileMatchMode; use crate::config::OtelConfig; use crate::global::OBSERVABILITY_METRIC_ENABLED; use crate::telemetry::filter::build_env_filter; use crate::telemetry::guard::OtelGuard; +// Import helper functions from local.rs (sibling module) +use crate::TelemetryError; +use crate::telemetry::local::spawn_cleanup_task; use crate::telemetry::recorder::Recorder; use crate::telemetry::resource::build_resource; use crate::telemetry::rolling::{RollingAppender, Rotation}; @@ -67,9 +69,6 @@ use tracing_subscriber::{ util::SubscriberInitExt, }; -// Import helper functions from local.rs (sibling module) -use super::local::{ensure_dir_permissions, spawn_cleanup_task}; - /// Initialize the full OpenTelemetry HTTP pipeline (traces + metrics + logs). /// /// This function is invoked when at least one OTLP endpoint has been @@ -197,7 +196,7 @@ pub(super) fn init_observability_http( } // 2. Permissions #[cfg(unix)] - ensure_dir_permissions(log_directory)?; + crate::telemetry::local::ensure_dir_permissions(log_directory)?; // 3. Rotation let rotation_str = config