From 200f788a0de13d49128e049d207723dc64bf3e04 Mon Sep 17 00:00:00 2001 From: jiaxiao zhou Date: Mon, 20 May 2024 18:35:56 +0000 Subject: [PATCH] remove parent attribute in tracing macro Signed-off-by: jiaxiao zhou --- crates/shim/src/args.rs | 2 +- crates/shim/src/asynchronous/mod.rs | 18 +++++++++--------- crates/shim/src/cgroup.rs | 20 ++++++++++---------- crates/shim/src/lib.rs | 2 +- crates/shim/src/synchronous/mod.rs | 18 +++++++++--------- 5 files changed, 30 insertions(+), 30 deletions(-) diff --git a/crates/shim/src/args.rs b/crates/shim/src/args.rs index 8be030b..989eda1 100644 --- a/crates/shim/src/args.rs +++ b/crates/shim/src/args.rs @@ -44,7 +44,7 @@ pub struct Flags { } /// Parses command line arguments passed to the shim. -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), skip_all, level = "Info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(skip_all, level = "Info"))] pub fn parse>(args: &[S]) -> Result { let mut flags = Flags::default(); diff --git a/crates/shim/src/asynchronous/mod.rs b/crates/shim/src/asynchronous/mod.rs index a61e380..4a14531 100644 --- a/crates/shim/src/asynchronous/mod.rs +++ b/crates/shim/src/asynchronous/mod.rs @@ -99,7 +99,7 @@ pub trait Shim { } /// Async Shim entry point that must be invoked from tokio `main`. -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] pub async fn run(runtime_id: &str, opts: Option) where T: Shim + Send + Sync + 'static, @@ -110,7 +110,7 @@ where } } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] async fn bootstrap(runtime_id: &str, opts: Option) -> Result<()> where T: Shim + Send + Sync + 'static, @@ -241,7 +241,7 @@ impl ExitSignal { /// Spawn is a helper func to launch shim process asynchronously. /// Typically this expected to be called from `StartShim`. -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] pub async fn spawn(opts: StartOpts, grouping: &str, vars: Vec<(&str, &str)>) -> Result { let cmd = env::current_exe().map_err(io_error!(e, ""))?; let cwd = env::current_dir().map_err(io_error!(e, ""))?; @@ -302,7 +302,7 @@ pub async fn spawn(opts: StartOpts, grouping: &str, vars: Vec<(&str, &str)>) -> Ok(address) } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), skip_all, level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(skip_all, level = "info"))] fn setup_signals_tokio(config: &Config) -> Signals { if config.no_reaper { Signals::new([SIGTERM, SIGINT, SIGPIPE]).expect("new signal failed") @@ -311,7 +311,7 @@ fn setup_signals_tokio(config: &Config) -> Signals { } } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), skip_all, level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(skip_all, level = "info"))] async fn handle_signals(signals: Signals) { let mut signals = signals.fuse(); while let Some(sig) = signals.next().await { @@ -365,14 +365,14 @@ async fn handle_signals(signals: Signals) { } } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] async fn remove_socket_silently(address: &str) { remove_socket(address) .await .unwrap_or_else(|e| warn!("failed to remove socket: {}", e)) } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] async fn remove_socket(address: &str) -> Result<()> { let path = parse_sockaddr(address); if let Ok(md) = Path::new(path).metadata() { @@ -387,7 +387,7 @@ async fn remove_socket(address: &str) -> Result<()> { Ok(()) } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), skip_all, level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(skip_all, level = "info"))] async fn start_listener(address: &str) -> Result { let addr = address.to_string(); asyncify(move || -> Result { @@ -399,7 +399,7 @@ async fn start_listener(address: &str) -> Result { .await } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] async fn wait_socket_working(address: &str, interval_in_ms: u64, count: u32) -> Result<()> { for _i in 0..count { match Client::connect(address) { diff --git a/crates/shim/src/cgroup.rs b/crates/shim/src/cgroup.rs index bb33070..1df260f 100644 --- a/crates/shim/src/cgroup.rs +++ b/crates/shim/src/cgroup.rs @@ -37,7 +37,7 @@ use crate::error::{Error, Result}; // OOM_SCORE_ADJ_MAX is from https://github.com/torvalds/linux/blob/master/include/uapi/linux/oom.h#L10 const OOM_SCORE_ADJ_MAX: i64 = 1000; -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "Info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "Info"))] pub fn set_cgroup_and_oom_score(pid: u32) -> Result<()> { if pid == 0 { return Ok(()); @@ -63,7 +63,7 @@ pub fn set_cgroup_and_oom_score(pid: u32) -> Result<()> { } /// Add a process to the given relative cgroup path -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "Info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "Info"))] pub fn add_task_to_cgroup(path: &str, pid: u32) -> Result<()> { let h = hierarchies::auto(); // use relative path here, need to trim prefix '/' @@ -76,7 +76,7 @@ pub fn add_task_to_cgroup(path: &str, pid: u32) -> Result<()> { /// Sets the OOM score for the process to the parents OOM score + 1 /// to ensure that they parent has a lower score than the shim -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "Info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "Info"))] pub fn adjust_oom_score(pid: u32) -> Result<()> { let score = read_process_oom_score(std::os::unix::process::parent_id())?; if score < OOM_SCORE_ADJ_MAX { @@ -85,7 +85,7 @@ pub fn adjust_oom_score(pid: u32) -> Result<()> { Ok(()) } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] fn read_process_oom_score(pid: u32) -> Result { let content = fs::read_to_string(format!("/proc/{}/oom_score_adj", pid)) .map_err(io_error!(e, "read oom score"))?; @@ -96,14 +96,14 @@ fn read_process_oom_score(pid: u32) -> Result { Ok(score) } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] fn write_process_oom_score(pid: u32, score: i64) -> Result<()> { fs::write(format!("/proc/{}/oom_score_adj", pid), score.to_string()) .map_err(io_error!(e, "write oom score")) } /// Collect process cgroup stats, return only necessary parts of it -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] pub fn collect_metrics(pid: u32) -> Result { let mut metrics = Metrics::new(); @@ -185,7 +185,7 @@ pub fn collect_metrics(pid: u32) -> Result { } // get_cgroup will return either cgroup v1 or v2 depending on system configuration -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] fn get_cgroup(pid: u32) -> Result { let hierarchies = hierarchies::auto(); let cgroup = if hierarchies.v2() { @@ -201,7 +201,7 @@ fn get_cgroup(pid: u32) -> Result { } /// Get the cgroups v2 path given a PID -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] pub fn get_cgroups_v2_path_by_pid(pid: u32) -> Result { // todo: should upstream to cgroups-rs let path = format!("/proc/{}/cgroup", pid); @@ -215,7 +215,7 @@ pub fn get_cgroups_v2_path_by_pid(pid: u32) -> Result { } // https://github.com/opencontainers/runc/blob/1950892f69597aa844cbf000fbdf77610dda3a44/libcontainer/cgroups/fs2/defaultpath.go#L83 -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] fn parse_cgroups_v2_path(content: &str) -> Result { // the entry for cgroup v2 is always in the format like `0::$PATH` // where 0 is the hierarchy ID, the controller name is omitted in cgroup v2 @@ -231,7 +231,7 @@ fn parse_cgroups_v2_path(content: &str) -> Result { } /// Update process cgroup limits -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] pub fn update_resources(pid: u32, resources: &LinuxResources) -> Result<()> { // get container main process cgroup let cgroup = get_cgroup(pid)?; diff --git a/crates/shim/src/lib.rs b/crates/shim/src/lib.rs index 2077fb9..5f447bd 100644 --- a/crates/shim/src/lib.rs +++ b/crates/shim/src/lib.rs @@ -168,7 +168,7 @@ pub const SOCKET_ROOT: &str = "/var/run/containerd"; pub const SOCKET_ROOT: &str = r"\\.\pipe\containerd-containerd"; /// Make socket path from containerd socket path, namespace and id. -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "Info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "Info"))] pub fn socket_address(socket_path: &str, namespace: &str, id: &str) -> String { let path = PathBuf::from(socket_path) .join(namespace) diff --git a/crates/shim/src/synchronous/mod.rs b/crates/shim/src/synchronous/mod.rs index 4c8a9fb..d1cfcc3 100644 --- a/crates/shim/src/synchronous/mod.rs +++ b/crates/shim/src/synchronous/mod.rs @@ -182,7 +182,7 @@ pub trait Shim { } /// Shim entry point that must be invoked from `main`. -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] pub fn run(runtime_id: &str, opts: Option) where T: Shim + Send + Sync + 'static, @@ -193,7 +193,7 @@ where } } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] fn bootstrap(runtime_id: &str, opts: Option) -> Result<()> where T: Shim + Send + Sync + 'static, @@ -291,7 +291,7 @@ where } } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), skip_all, level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(skip_all, level = "info"))] fn create_server(_flags: args::Flags) -> Result { let mut server = Server::new(); @@ -309,7 +309,7 @@ fn create_server(_flags: args::Flags) -> Result { Ok(server) } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), skip_all, level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(skip_all, level = "info"))] fn setup_signals(_config: &Config) -> Option { #[cfg(unix)] { @@ -345,7 +345,7 @@ unsafe extern "system" fn signal_handler(_: u32) -> i32 { 1 } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), skip_all, level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(skip_all, level = "info"))] fn handle_signals(mut _signals: Option) { #[cfg(unix)] { @@ -407,7 +407,7 @@ fn handle_signals(mut _signals: Option) { } } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] fn wait_socket_working(address: &str, interval_in_ms: u64, count: u32) -> Result<()> { for _i in 0..count { match Client::connect(address) { @@ -422,12 +422,12 @@ fn wait_socket_working(address: &str, interval_in_ms: u64, count: u32) -> Result Err(other!("time out waiting for socket {}", address)) } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] fn remove_socket_silently(address: &str) { remove_socket(address).unwrap_or_else(|e| warn!("failed to remove file {} {:?}", address, e)) } -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] fn remove_socket(address: &str) -> Result<()> { #[cfg(unix)] { @@ -456,7 +456,7 @@ fn remove_socket(address: &str) -> Result<()> { /// Spawn is a helper func to launch shim process. /// Typically this expected to be called from `StartShim`. -#[cfg_attr(feature = "tracing", tracing::instrument(parent = tracing::Span::current(), level = "info"))] +#[cfg_attr(feature = "tracing", tracing::instrument(level = "info"))] pub fn spawn(opts: StartOpts, grouping: &str, vars: Vec<(&str, &str)>) -> Result<(u32, String)> { let cmd = env::current_exe().map_err(io_error!(e, ""))?; let cwd = env::current_dir().map_err(io_error!(e, ""))?;