28 BTStateObserver(
const BT::Tree& tree,
const rclcpp::Logger& node_logger,
29 std::chrono::seconds max_logging_rate = std::chrono::seconds(0));
31 virtual void flush()
override;
40 uint16_t createStateChangeBitmask(BT::NodeStatus prev_status, BT::NodeStatus curr_status);
42 virtual void callback(BT::Duration timestamp,
const BT::TreeNode& node, BT::NodeStatus prev_status,
43 BT::NodeStatus status)
override;
45 const rclcpp::Logger logger_;
46 const std::string root_tree_id_;
47 const std::chrono::seconds max_logging_rate_;
48 bool logging_active_{
false };
49 std::vector<std::string> running_action_history_;
50 std::string last_running_action_name_;
51 std::map<std::pair<uint16_t, uint16_t>, BT::Duration> last_log_map_;