diff --git a/components-rs/common.h b/components-rs/common.h index 516014cb99..c84ba76167 100644 --- a/components-rs/common.h +++ b/components-rs/common.h @@ -437,6 +437,7 @@ typedef enum ddog_RemoteConfigProduct { DDOG_REMOTE_CONFIG_PRODUCT_FFE_FLAGS, DDOG_REMOTE_CONFIG_PRODUCT_LIVE_DEBUGGING, DDOG_REMOTE_CONFIG_PRODUCT_LIVE_DEBUGGING_SYMBOL_DB, + DDOG_REMOTE_CONFIG_PRODUCT_DEBUG, } ddog_RemoteConfigProduct; typedef enum ddog_SpanProbeTarget { diff --git a/components-rs/remote_config.rs b/components-rs/remote_config.rs index 7bbddf0d97..a9a244b5ee 100644 --- a/components-rs/remote_config.rs +++ b/components-rs/remote_config.rs @@ -218,6 +218,7 @@ pub unsafe extern "C" fn ddog_init_remote_config_state( language: "php".to_string(), tracer_version: include_str!("../VERSION").trim().into(), endpoint: endpoint.clone(), + agentless: None, }, registry), live_debugger: LiveDebuggerState { di_enabled, @@ -389,12 +390,12 @@ pub extern "C" fn ddog_process_remote_configs(remote_config: &mut RemoteConfigSt limiter_index, } => { if let Some(data) = value.data { - match value.product { + match value.path.product() { RemoteConfigProduct::LiveDebugging => { let val = Box::new((data, MaybeShmLimiter::open(limiter_index))); let rc_ref: &mut RemoteConfigState = unsafe { mem::transmute(remote_config as *mut _) }; // sigh, borrow checker - let config_id = value.config_id.clone(); - let entry = remote_config.live_debugger.active.entry(value.config_id); + let config_id = value.path.config_id(); + let entry = remote_config.live_debugger.active.entry(config_id.to_string()); let (parsed, limiter) = match entry { Entry::Occupied(mut e) => { e.insert(val); @@ -407,7 +408,7 @@ pub extern "C" fn ddog_process_remote_configs(remote_config: &mut RemoteConfigSt } }; if let Some(debugger) = parsed.downcast::() { - apply_config(rc_ref, &config_id, debugger, limiter); + apply_config(rc_ref, config_id, debugger, limiter); } } RemoteConfigProduct::ApmTracing => { @@ -416,7 +417,7 @@ pub extern "C" fn ddog_process_remote_configs(remote_config: &mut RemoteConfigSt let configs: Vec = config_data.lib_config.clone().into(); if !configs.is_empty() { remote_config.dynamic_config.active_configs - .insert(value.config_id, ActiveDynamicConfig { priority, configs }); + .insert(value.path.config_id().to_string(), ActiveDynamicConfig { priority, configs }); let merged = compute_merged_configs(&remote_config.dynamic_config.active_configs); insert_new_configs( &mut remote_config.dynamic_config.old_config_values, @@ -438,16 +439,16 @@ pub extern "C" fn ddog_process_remote_configs(remote_config: &mut RemoteConfigSt } } } - RemoteConfigUpdate::Remove(path) => match path.product { + RemoteConfigUpdate::Remove(path) => match path.product() { RemoteConfigProduct::LiveDebugging => { - if let Some(boxed) = remote_config.live_debugger.active.remove(&path.config_id) { + if let Some(boxed) = remote_config.live_debugger.active.remove(path.config_id()) { if let Some(debugger) = boxed.0.downcast::() { - remove_config(remote_config, &path.config_id, debugger); + remove_config(remote_config, path.config_id(), debugger); } } } RemoteConfigProduct::ApmTracing => { - if remote_config.dynamic_config.active_configs.remove(&path.config_id).is_some() { + if remote_config.dynamic_config.active_configs.remove(path.config_id()).is_some() { if remote_config.dynamic_config.active_configs.is_empty() { remove_old_configs(remote_config); } else { diff --git a/libdatadog b/libdatadog index 3da894a0ec..7be7ac7f38 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit 3da894a0ec74abea0dfe9a3417919825c56b4e65 +Subproject commit 7be7ac7f383deea0af32bce895cfa1b44e6c8b94