Skip to content

Commit 67e886f

Browse files
committed
feat: not tracking represented as None opt instead of loglevel::off
1 parent 6cdb6e4 commit 67e886f

File tree

2 files changed

+19
-13
lines changed

2 files changed

+19
-13
lines changed

datadog-tracer-flare/src/lib.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ use crate::error::FlareError;
5858
pub struct TracerFlareManager {
5959
agent_url: String,
6060
language: String,
61-
current_log_level: Mutex<LogLevel>,
61+
current_log_level: Mutex<Option<LogLevel>>,
6262
pub original_log_level: Mutex<Option<LogLevel>>,
6363
/// As a featured option so we can use the component with no Listener
6464
#[cfg(feature = "listener")]
@@ -70,7 +70,7 @@ impl Default for TracerFlareManager {
7070
TracerFlareManager {
7171
agent_url: hyper::Uri::default().to_string(),
7272
language: "rust".to_string(),
73-
current_log_level: Mutex::new(LogLevel::Off),
73+
current_log_level: Mutex::new(None),
7474
original_log_level: Mutex::new(None),
7575
#[cfg(feature = "listener")]
7676
listener: None,
@@ -189,13 +189,13 @@ impl TracerFlareManager {
189189
let action = data.try_into();
190190
if let Ok(ReturnAction::Set(log_level)) = action {
191191
// If we are already collecting
192-
if *self.current_log_level.lock_or_panic() != LogLevel::Off {
192+
if self.current_log_level.lock_or_panic().is_some() {
193193
return Ok(ReturnAction::None);
194194
}
195-
*self.current_log_level.lock_or_panic() = log_level;
195+
*self.current_log_level.lock_or_panic() = Some(log_level);
196196
} else if Ok(ReturnAction::None) != action {
197197
// If action is Send, Unset or an error, we need to stop collecting
198-
*self.current_log_level.lock_or_panic() = LogLevel::Off;
198+
*self.current_log_level.lock_or_panic() = None;
199199
}
200200
action
201201
}
@@ -221,7 +221,7 @@ impl TracerFlareManager {
221221
Ok(data) => self.handle_remote_config_data(data),
222222
Err(e) => {
223223
// If encounter an error we need to stop collecting
224-
*self.current_log_level.lock_or_panic() = LogLevel::Off;
224+
*self.current_log_level.lock_or_panic() = None;
225225
Err(FlareError::ParsingError(e.to_string()))
226226
}
227227
}
@@ -481,9 +481,9 @@ pub async fn run_remote_config_listener(
481481
}
482482

483483
if let ReturnAction::Set(log_level) = state {
484-
*tracer_flare.current_log_level.lock_or_panic() = log_level;
484+
*tracer_flare.current_log_level.lock_or_panic() = Some(log_level);
485485
} else if let ReturnAction::Send(_) = state {
486-
*tracer_flare.current_log_level.lock_or_panic() = LogLevel::Off;
486+
*tracer_flare.current_log_level.lock_or_panic() = None;
487487
}
488488

489489
Ok(state)
@@ -687,19 +687,19 @@ mod tests {
687687
.unwrap();
688688

689689
// First AGENT_CONFIG
690-
assert!(*tracer_flare.current_log_level.lock_or_panic() == LogLevel::Off);
690+
assert!(tracer_flare.current_log_level.lock_or_panic().is_none());
691691
let result = tracer_flare
692692
.handle_remote_config_file(agent_config_file.clone())
693693
.unwrap();
694694
assert_eq!(result, ReturnAction::Set(LogLevel::Info));
695-
assert!(*tracer_flare.current_log_level.lock_or_panic() == LogLevel::Info);
695+
assert!(*tracer_flare.current_log_level.lock_or_panic() == Some(LogLevel::Info));
696696

697697
// Second AGENT_CONFIG
698698
let result = tracer_flare
699699
.handle_remote_config_file(agent_config_file)
700700
.unwrap();
701701
assert_eq!(result, ReturnAction::None);
702-
assert!(*tracer_flare.current_log_level.lock_or_panic() == LogLevel::Info);
702+
assert!(*tracer_flare.current_log_level.lock_or_panic() == Some(LogLevel::Info));
703703

704704
// Non-None actions stop collecting
705705
let error_file = storage
@@ -716,7 +716,7 @@ mod tests {
716716
.unwrap();
717717

718718
let _ = tracer_flare.handle_remote_config_file(error_file);
719-
assert!(*tracer_flare.current_log_level.lock_or_panic() == LogLevel::Off);
719+
assert!(tracer_flare.current_log_level.lock_or_panic().is_none());
720720
}
721721

722722
#[test]

datadog-tracer-flare/src/zip.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,13 @@ pub async fn zip_and_send(
379379

380380
// APMSP-2118 - TODO: Implement obfuscation of sensitive data
381381

382-
let log_level = *tracer_flare.current_log_level.lock_or_panic();
382+
let log_level = tracer_flare
383+
.current_log_level
384+
.lock_or_panic()
385+
.ok_or(FlareError::ZipError(String::from(
386+
"Trying to send the flare when log_level is not set",
387+
)))?;
388+
383389
send(zip, log_level, agent_task, tracer_flare).await
384390
}
385391

0 commit comments

Comments
 (0)