diff --git a/datadog-sidecar-ffi/src/lib.rs b/datadog-sidecar-ffi/src/lib.rs index 73c5dbb530..e3421dfd8d 100644 --- a/datadog-sidecar-ffi/src/lib.rs +++ b/datadog-sidecar-ffi/src/lib.rs @@ -378,17 +378,20 @@ pub unsafe extern "C" fn ddog_sidecar_telemetry_enqueueConfig( config_value: ffi::CharSlice, origin: data::ConfigurationOrigin, config_id: ffi::CharSlice, + seq_id: ffi::Option, ) -> MaybeError { let config_id = if config_id.is_empty() { None } else { Some(config_id.to_utf8_lossy().into_owned()) }; + let seq_id = seq_id.to_std(); let config_entry = TelemetryActions::AddConfig(data::Configuration { name: config_key.to_utf8_lossy().into_owned(), value: config_value.to_utf8_lossy().into_owned(), origin, config_id, + seq_id, }); try_c!(blocking::enqueue_actions( transport, diff --git a/libdd-telemetry-ffi/src/builder.rs b/libdd-telemetry-ffi/src/builder.rs index ef97af5bd3..78216e1848 100644 --- a/libdd-telemetry-ffi/src/builder.rs +++ b/libdd-telemetry-ffi/src/builder.rs @@ -102,6 +102,7 @@ pub unsafe extern "C" fn ddog_telemetry_builder_with_config( value: ffi::CharSlice, origin: data::ConfigurationOrigin, config_id: ffi::CharSlice, + seq_id: ffi::Option, ) -> MaybeError { let name = name.to_utf8_lossy().into_owned(); let value = value.to_utf8_lossy().into_owned(); @@ -110,11 +111,13 @@ pub unsafe extern "C" fn ddog_telemetry_builder_with_config( } else { Some(config_id.to_utf8_lossy().into_owned()) }; + let seq_id = seq_id.to_std(); builder.configurations.insert(data::Configuration { name, value, origin, config_id, + seq_id, }); MaybeError::None } diff --git a/libdd-telemetry/src/data/payloads.rs b/libdd-telemetry/src/data/payloads.rs index 3b7d9a9c28..84629aa2c6 100644 --- a/libdd-telemetry/src/data/payloads.rs +++ b/libdd-telemetry/src/data/payloads.rs @@ -26,6 +26,7 @@ pub struct Configuration { pub value: String, pub origin: ConfigurationOrigin, pub config_id: Option, + pub seq_id: Option, } #[derive(Serialize, Deserialize, Debug, Hash, PartialEq, Eq, Clone)] @@ -39,6 +40,7 @@ pub enum ConfigurationOrigin { Default, LocalStableConfig, FleetStableConfig, + Calculated, } #[derive(Serialize, Debug)]