Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
212: Add code for off-line reconstruction of candidate trees r=ulysseB,r=Elarnon a=andidr The new module offline_analysis allows for the reconstruction of a candidate tree from the events of a log file for post-mortem analysis or conversion to a different log format required by an analysis tool. The reconstruction of the tree itself and refinement of candidate nodes from actions on the nodes can be done incrementally and in an interleaved fashion as log messages are processed. The general outline of this process is: let mut tree = CandidateTree::new(); let mut actions = ThreadActionList::new(); // Iterate over all messages from the log file for ... { match message { Message::Node { ... } => { tree.extend(...); } Message::Trace { ... } => { // Iterate over all events of the trace message for event ... { match event { Event::Kill(...) => { // Declare candidate as a deadend tree.get_node(curr_node_id).borrow_mut().declare_deadend(...); ... } Event::Implementation(...) => { // Update score tree.get_node(curr_node_id) .borrow_mut() .declare_implementation(...); ... } ... } } } Message::Evaluation { ... } => { ... t.get_node(..).borrow_mut().set_score(...); } } } Co-authored-by: Andi Drebes <andi@drebesium.org>
- Loading branch information