3 #include <unordered_map> 5 #include "pal_statistics_msgs/msg/statistics_names.hpp" 6 #include "pal_statistics_msgs/msg/statistics_values.hpp" 9 #include "fmt/format.h" 24 void parseMessageImpl(
const pal_statistics_msgs::msg::StatisticsNames& msg,
double& timestamp)
override 27 values_topic_name.replace(values_topic_name.find(
"names"), 5,
"values");
38 , _header_parser(topic_name +
"/header", plot_data)
42 void parseMessageImpl(
const pal_statistics_msgs::msg::StatisticsValues& msg,
double& timestamp)
override 44 auto&
values = _data[msg.names_version];
49 auto names_it = statistics_map.find(msg.names_version);
50 if (names_it == statistics_map.end())
54 const auto& names = names_it->second;
56 if (msg.values.size() != names.size())
73 std::unordered_map<uint32_t, std::vector<PJ::PlotData*>>
_data;
std::unordered_map< uint32_t, std::vector< std::string > > TopicStatistics
std::vector< double > values
PJ::PlotData & getSeries(const std::string &key)
void parseMessageImpl(const pal_statistics_msgs::msg::StatisticsValues &msg, double ×tamp) override
HeaderMsgParser _header_parser
static std::unordered_map< std::string, TopicStatistics > _stored_pal_statistics_names
FMT_INLINE std::basic_string< Char > format(const S &format_str, Args &&... args)
std::unordered_map< uint32_t, std::vector< PJ::PlotData * > > _data
PAL_StatisticsNamesParser(const std::string &topic_name, PJ::PlotDataMapRef &plot_data)
PAL_StatisticsValuesParser(const std::string &topic_name, PJ::PlotDataMapRef &plot_data)
void parseMessageImpl(const pal_statistics_msgs::msg::StatisticsNames &msg, double ×tamp) override