Skip to content

Commit 295a012

Browse files
committed
refactor(cbor_plus_zstd): factored out the repeated initialization code for AbstractTraceWriterData into a AbstractTraceWriterData::new() constructor-like function
1 parent de4cb0b commit 295a012

File tree

3 files changed

+25
-33
lines changed

3 files changed

+25
-33
lines changed

runtime_tracing/src/abstract_trace_writer.rs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::{collections::HashMap, error::Error, fs, path::{Path, PathBuf}};
1+
use std::{collections::HashMap, env, error::Error, fs, path::{Path, PathBuf}};
22

33
use crate::{tracer::TOP_LEVEL_FUNCTION_ID, AssignCellRecord, AssignCompoundItemRecord, AssignmentRecord, CallRecord, CellValueRecord, CompoundValueRecord, FullValueRecord, FunctionId, FunctionRecord, Line, PathId, RValue, RecordEvent, ReturnRecord, StepRecord, TraceLowLevelEvent, TraceMetadata, TypeId, TypeKind, TypeRecord, TypeSpecificInfo, VariableCellRecord, VariableId, NONE_TYPE_ID};
44

@@ -20,6 +20,26 @@ pub struct AbstractTraceWriterData {
2020
pub trace_paths_path: Option<PathBuf>,
2121
}
2222

23+
impl AbstractTraceWriterData {
24+
pub fn new(program: &str, args: &[String]) -> Self {
25+
AbstractTraceWriterData {
26+
workdir: env::current_dir().expect("can access the current dir"),
27+
program: program.to_string(),
28+
args: args.to_vec(),
29+
30+
path_list: vec![],
31+
function_list: vec![],
32+
paths: HashMap::new(),
33+
functions: HashMap::new(),
34+
variables: HashMap::new(),
35+
types: HashMap::new(),
36+
37+
trace_metadata_path: None,
38+
trace_paths_path: None,
39+
}
40+
}
41+
}
42+
2343
pub trait AbstractTraceWriter {
2444
fn get_data(&self) -> &AbstractTraceWriterData;
2545
fn get_mut_data(&mut self) -> &mut AbstractTraceWriterData;

runtime_tracing/src/cbor_zstd_writer.rs

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::{collections::HashMap, env, fs::File, io::Write, path::PathBuf};
1+
use std::{fs::File, io::Write, path::PathBuf};
22
use zeekstd::Encoder;
33

44
use crate::{abstract_trace_writer::{AbstractTraceWriter, AbstractTraceWriterData}, trace_writer::TraceWriter, TraceLowLevelEvent};
@@ -21,21 +21,7 @@ impl<'a> StreamingTraceWriter<'a> {
2121
/// Create a new tracer instance for the given program and arguments.
2222
pub fn new(program: &str, args: &[String]) -> Self {
2323
StreamingTraceWriter {
24-
base: AbstractTraceWriterData {
25-
workdir: env::current_dir().expect("can access the current dir"),
26-
program: program.to_string(),
27-
args: args.to_vec(),
28-
29-
path_list: vec![],
30-
function_list: vec![],
31-
paths: HashMap::new(),
32-
functions: HashMap::new(),
33-
variables: HashMap::new(),
34-
types: HashMap::new(),
35-
36-
trace_metadata_path: None,
37-
trace_paths_path: None,
38-
},
24+
base: AbstractTraceWriterData::new(program, args),
3925

4026
trace_events_path: None,
4127
trace_events_file_zstd_encoder: None,

runtime_tracing/src/non_streaming_trace_writer.rs

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::{collections::HashMap, env, error::Error, fs, path::{Path, PathBuf}};
1+
use std::{error::Error, fs, path::{Path, PathBuf}};
22

33
use crate::{abstract_trace_writer::{AbstractTraceWriter, AbstractTraceWriterData}, TraceEventsFileFormat, TraceLowLevelEvent, TraceWriter};
44

@@ -21,21 +21,7 @@ impl NonStreamingTraceWriter {
2121
/// Create a new tracer instance for the given program and arguments.
2222
pub fn new(program: &str, args: &[String]) -> Self {
2323
NonStreamingTraceWriter {
24-
base: AbstractTraceWriterData {
25-
workdir: env::current_dir().expect("can access the current dir"),
26-
program: program.to_string(),
27-
args: args.to_vec(),
28-
29-
path_list: vec![],
30-
function_list: vec![],
31-
paths: HashMap::new(),
32-
functions: HashMap::new(),
33-
variables: HashMap::new(),
34-
types: HashMap::new(),
35-
36-
trace_metadata_path: None,
37-
trace_paths_path: None,
38-
},
24+
base: AbstractTraceWriterData::new(program, args),
3925

4026
events: vec![],
4127

0 commit comments

Comments
 (0)