Class GraphAnalyzer

Inheritance Relationships

Base Type

  • public diagnostic_aggregator::Analyzer

Class Documentation

class GraphAnalyzer : public diagnostic_aggregator::Analyzer

Public Functions

GraphAnalyzer()
virtual ~GraphAnalyzer()
virtual bool init(const std::string &base_path, const std::string &breadcrumb, const rclcpp::Node::SharedPtr node) override

Implemented for virtual interface compliance, but will throw exception on call. The interface here is bad for current usage pattern because a Node cannot call shared_from_this() in its constructor, and may not even be a shared_ptr in the first place.

bool init(const std::string &base_path, const rosgraph_monitor::Params::GraphAnalyzer &params)

Actual initialize function, call me instead.

virtual bool match(const std::string &status_name) override

Returns true if analyzer will handle this item.

virtual bool analyze(const std::shared_ptr<diagnostic_aggregator::StatusItem> item) override

Returns true if item was analyzed and will be part of report.

virtual std::vector<std::shared_ptr<diagnostic_msgs::msg::DiagnosticStatus>> report() override

Run full analysis, returns processed results from analyze() items.

virtual std::string getPath() const override

Return full prefix of analyzer outputs.

virtual std::string getName() const override

Returns nice name for display purposes.

Protected Attributes

const std::string name_ = {"RosGraph"}
std::unordered_set<std::string> ignore_deadline_topics_
bool all_nodes_required_ = false
std::string path_
std::string graph_diagnostic_prefix_
std::string pub_freq_diagnostic_prefix_
std::string node_diagnostic_prefix_
std::string name_match_regex_text_
std::regex name_match_regex_
std::chrono::milliseconds stale_timeout_ = {1000}
rclcpp::Logger logger_
std::map<std::string, std::shared_ptr<diagnostic_aggregator::StatusItem>> items_