pub struct NonStreamingTraceWriter {
pub events: Vec<TraceLowLevelEvent>,
/* private fields */
}Expand description
State machine used to record TraceLowLevelEvents.
A NonStreamingTraceWriter instance accumulates events in memory and stores them on
disk when the finish_writing_trace_* methods are called. The in-memory event list
is exposed publicly.
Fields§
§events: Vec<TraceLowLevelEvent>Implementations§
Source§impl NonStreamingTraceWriter
impl NonStreamingTraceWriter
Sourcepub fn new(program: &str, args: &[String]) -> Self
pub fn new(program: &str, args: &[String]) -> Self
Create a new tracer instance for the given program and arguments.
pub fn set_format(&mut self, format: TraceEventsFileFormat)
Trait Implementations§
Source§impl TraceWriter for NonStreamingTraceWriter
impl TraceWriter for NonStreamingTraceWriter
fn begin_writing_trace_events( &mut self, path: &Path, ) -> Result<(), Box<dyn Error>>
fn finish_writing_trace_events(&mut self) -> Result<(), Box<dyn Error>>
fn begin_writing_trace_metadata( &mut self, path: &Path, ) -> Result<(), Box<dyn Error>>
fn begin_writing_trace_paths( &mut self, path: &Path, ) -> Result<(), Box<dyn Error>>
fn start(&mut self, path: &Path, line: Line)
fn ensure_path_id(&mut self, path: &Path) -> PathId
fn ensure_function_id( &mut self, function_name: &str, path: &Path, line: Line, ) -> FunctionId
fn ensure_type_id(&mut self, kind: TypeKind, lang_type: &str) -> TypeId
fn ensure_raw_type_id(&mut self, typ: TypeRecord) -> TypeId
fn ensure_variable_id(&mut self, variable_name: &str) -> VariableId
fn register_path(&mut self, path: &Path)
fn register_function(&mut self, name: &str, path: &Path, line: Line)
fn register_step(&mut self, path: &Path, line: Line)
fn register_call(&mut self, function_id: FunctionId, args: Vec<FullValueRecord>)
fn arg(&mut self, name: &str, value: ValueRecord) -> FullValueRecord
fn register_return(&mut self, return_value: ValueRecord)
fn register_special_event(&mut self, kind: EventLogKind, content: &str)
fn to_raw_type(&self, kind: TypeKind, lang_type: &str) -> TypeRecord
fn register_type(&mut self, kind: TypeKind, lang_type: &str)
fn register_raw_type(&mut self, typ: TypeRecord)
fn register_asm(&mut self, instructions: &[String])
fn register_variable_with_full_value(&mut self, name: &str, value: ValueRecord)
fn register_variable_name(&mut self, variable_name: &str)
fn register_full_value(&mut self, variable_id: VariableId, value: ValueRecord)
fn register_compound_value(&mut self, place: Place, value: ValueRecord)
fn register_cell_value(&mut self, place: Place, value: ValueRecord)
fn assign_compound_item( &mut self, place: Place, index: usize, item_place: Place, )
fn assign_cell(&mut self, place: Place, new_value: ValueRecord)
fn register_variable(&mut self, variable_name: &str, place: Place)
fn drop_variable(&mut self, variable_name: &str)
fn assign(&mut self, variable_name: &str, rvalue: RValue, pass_by: PassBy)
fn bind_variable(&mut self, variable_name: &str, place: Place)
fn drop_variables(&mut self, variable_names: &[String])
fn simple_rvalue(&mut self, variable_name: &str) -> RValue
fn compound_rvalue(&mut self, variable_dependencies: &[String]) -> RValue
fn drop_last_step(&mut self)
fn add_event(&mut self, event: TraceLowLevelEvent)
fn append_events(&mut self, events: &mut Vec<TraceLowLevelEvent>)
fn finish_writing_trace_metadata(&mut self) -> Result<(), Box<dyn Error>>
fn finish_writing_trace_paths(&mut self) -> Result<(), Box<dyn Error>>
Auto Trait Implementations§
impl Freeze for NonStreamingTraceWriter
impl RefUnwindSafe for NonStreamingTraceWriter
impl Send for NonStreamingTraceWriter
impl Sync for NonStreamingTraceWriter
impl Unpin for NonStreamingTraceWriter
impl UnwindSafe for NonStreamingTraceWriter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more