Added implementation instead of separate function to load Telemetry configuration
This commit is contained in:
@@ -32,6 +32,27 @@ struct TelemetryConfig {
|
||||
TELEM_URL: Option<String>,
|
||||
}
|
||||
|
||||
impl TelemetryConfig {
|
||||
pub fn load() -> Self {
|
||||
let cfg_path = get_base_directory().join("config\\user_config.json");
|
||||
if !cfg_path.exists() {
|
||||
return Self {
|
||||
TELEMETRY: false,
|
||||
TELEM_URL: None,
|
||||
};
|
||||
}
|
||||
match fs::read_to_string(&cfg_path) {
|
||||
Ok(contents) => serde_json::from_str::<Self>(&contents).unwrap_or(Self {
|
||||
TELEMETRY: false,
|
||||
TELEM_URL: None,
|
||||
}),
|
||||
Err(_) => Self {
|
||||
TELEMETRY: false,
|
||||
TELEM_URL: None,
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
#[derive(Debug, Deserialize, Serialize)]
|
||||
struct ApiResponse {
|
||||
error: String,
|
||||
@@ -92,7 +113,7 @@ pub fn pull_policy_exec_histories(
|
||||
&& !parent_dir.exists()
|
||||
{
|
||||
match fs::create_dir_all(parent_dir) {
|
||||
Ok(_) => {},
|
||||
Ok(_) => {}
|
||||
Err(e) => {
|
||||
println!("Failed to Create Directory {:?}: {}", parent_dir, e);
|
||||
std::process::abort();
|
||||
@@ -100,7 +121,7 @@ pub fn pull_policy_exec_histories(
|
||||
}
|
||||
}
|
||||
match fs::File::create(&file_path) {
|
||||
Ok(_) => {},
|
||||
Ok(_) => {}
|
||||
Err(e) => {
|
||||
println!("Failed to Create Directory {:?}: {}", &file_path, e);
|
||||
std::process::abort();
|
||||
@@ -167,7 +188,7 @@ pub fn pull_policy_exec_histories(
|
||||
span.set_attribute(Key::new("Days").string(days.to_string().to_string()));
|
||||
loop {
|
||||
match f.seek(SeekFrom::Start(0)) {
|
||||
Ok(_) => {},
|
||||
Ok(_) => {}
|
||||
Err(e) => {
|
||||
println!("Failed to seek start of {:?}: {}", f, e);
|
||||
std::process::abort();
|
||||
@@ -360,30 +381,8 @@ fn skipback(days: i64) -> ObjectId {
|
||||
ObjectId::parse_str(&objectid_hex).expect("Invalid ObjectId hex")
|
||||
}
|
||||
|
||||
fn load_telemetry_config() -> TelemetryConfig {
|
||||
let cfg_path = get_base_directory().join("config\\user_config.json");
|
||||
if !cfg_path.exists() {
|
||||
return TelemetryConfig {
|
||||
TELEMETRY: false,
|
||||
TELEM_URL: None,
|
||||
};
|
||||
}
|
||||
match fs::read_to_string(&cfg_path) {
|
||||
Ok(contents) => {
|
||||
serde_json::from_str::<TelemetryConfig>(&contents).unwrap_or(TelemetryConfig {
|
||||
TELEMETRY: false,
|
||||
TELEM_URL: None,
|
||||
})
|
||||
}
|
||||
Err(_) => TelemetryConfig {
|
||||
TELEMETRY: false,
|
||||
TELEM_URL: None,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
fn init_tracer() -> Result<Option<sdktrace::Tracer>, TraceError> {
|
||||
let cfg = load_telemetry_config();
|
||||
let cfg = TelemetryConfig::load();
|
||||
if !cfg.TELEMETRY {
|
||||
global::set_tracer_provider(NoopTracerProvider::new());
|
||||
return Ok(None);
|
||||
|
||||
Reference in New Issue
Block a user