@@ -41,6 +41,11 @@ pub struct TelemetryClientConfig<'a> {
4141///   a single instrumented app should share the same runtime_id) 
4242/// - Be associated with traces to allow correlation between traces and telemetry data 
4343pub  runtime_id :  CharSlice < ' a > , 
44+ 
45+     /// Whether to enable debug mode for telemetry. 
46+ /// When enabled, sets the DD-Telemetry-Debug-Enabled header to true. 
47+ /// Defaults to false. 
48+ pub  debug_enabled :  bool , 
4449} 
4550
4651/// The TraceExporterConfig object will hold the configuration properties for the TraceExporter. 
@@ -244,6 +249,7 @@ pub unsafe extern "C" fn ddog_trace_exporter_config_enable_telemetry(
244249                    Ok ( s)  => Some ( s) , 
245250                    Err ( e)  => return  Some ( e) , 
246251                } , 
252+                 debug_enabled :  telemetry_cfg. debug_enabled , 
247253            } ) 
248254        }  else  { 
249255            config. telemetry_cfg  = Some ( TelemetryConfig :: default ( ) ) ; 
@@ -596,6 +602,7 @@ mod tests {
596602                Some ( & TelemetryClientConfig  { 
597603                    interval :  1000 , 
598604                    runtime_id :  CharSlice :: from ( "id" ) , 
605+                     debug_enabled :  false , 
599606                } ) , 
600607            ) ; 
601608            assert_eq ! ( error. as_ref( ) . unwrap( ) . code,  ErrorCode :: InvalidArgument ) ; 
@@ -613,6 +620,7 @@ mod tests {
613620                Some ( & TelemetryClientConfig  { 
614621                    interval :  1000 , 
615622                    runtime_id :  CharSlice :: from ( "foo" ) , 
623+                     debug_enabled :  true , 
616624                } ) , 
617625            ) ; 
618626            assert ! ( error. is_none( ) ) ; 
@@ -627,6 +635,7 @@ mod tests {
627635                    . unwrap( ) , 
628636                "foo" 
629637            ) ; 
638+             assert ! ( cfg. telemetry_cfg. as_ref( ) . unwrap( ) . debug_enabled) ; 
630639        } 
631640    } 
632641
@@ -735,7 +744,7 @@ mod tests {
735744                    r#"{ 
736745                    "rate_by_service": { 
737746                        "service:foo,env:staging": 1.0, 
738-                         "service:,env:": 0.8   
747+                         "service:,env:": 0.8 
739748                    } 
740749                }"# , 
741750                ) ; 
@@ -780,7 +789,7 @@ mod tests {
780789                r#"{ 
781790                    "rate_by_service": { 
782791                        "service:foo,env:staging": 1.0, 
783-                         "service:,env:": 0.8   
792+                         "service:,env:": 0.8 
784793                    } 
785794                }"# , 
786795            ) ; 
@@ -796,10 +805,10 @@ mod tests {
796805        // (.NET) ping the agent with the aforementioned data type. 
797806        unsafe  { 
798807            let  server = MockServer :: start ( ) ; 
799-             let  response_body = r#"{   
808+             let  response_body = r#"{ 
800809                        "rate_by_service": { 
801810                            "service:foo,env:staging": 1.0, 
802-                             "service:,env:": 0.8   
811+                             "service:,env:": 0.8 
803812                        } 
804813                    }"# ; 
805814
@@ -859,10 +868,10 @@ mod tests {
859868    fn  exporter_send_telemetry_test ( )  { 
860869        unsafe  { 
861870            let  server = MockServer :: start ( ) ; 
862-             let  response_body = r#"{   
871+             let  response_body = r#"{ 
863872                        "rate_by_service": { 
864873                            "service:foo,env:staging": 1.0, 
865-                             "service:,env:": 0.8   
874+                             "service:,env:": 0.8 
866875                        } 
867876                    }"# ; 
868877            let  mock_traces = server. mock ( |when,  then| { 
@@ -897,6 +906,7 @@ mod tests {
897906                telemetry_cfg :  Some ( TelemetryConfig  { 
898907                    heartbeat :  50 , 
899908                    runtime_id :  Some ( "foo" . to_string ( ) ) , 
909+                     debug_enabled :  true , 
900910                } ) , 
901911            } ; 
902912
0 commit comments