statistics.cpp
Go to the documentation of this file.
1 
35 
36 #include <multisense_ros/ChannelStatistics.h>
37 
38 namespace multisense_ros {
39 
41  driver_(driver),
42  device_nh_(""),
43  statistics_pub_(),
44  statistics_timer_(),
45  subscribers_(0)
46 {
47  statistics_pub_ = device_nh_.advertise<multisense_ros::ChannelStatistics>("channel_statistics", 5,
48  std::bind(&Statistics::connect, this),
49  std::bind(&Statistics::disconnect, this));
50 
52 }
53 
55 {
56 }
57 
59 {
60  (void) event;
61 
62  if (subscribers_ <= 0)
63  return;
64 
65  if (NULL != driver_)
66  {
68 
69  multisense_ros::ChannelStatistics statisticsMsg;
70 
71  statisticsMsg.header.stamp = ros::Time::now();
72 
73  statisticsMsg.num_missed_headers = statistics.numMissedHeaders;
74  statisticsMsg.num_dropped_assemblers = statistics.numDroppedAssemblers;
75  statisticsMsg.num_image_meta_data = statistics.numImageMetaData;
76  statisticsMsg.num_dispatched_image = statistics.numDispatchedImage;
77  statisticsMsg.num_dispatched_lidar = statistics.numDispatchedLidar;
78  statisticsMsg.num_dispatched_pps = statistics.numDispatchedPps;
79  statisticsMsg.num_dispatched_imu = statistics.numDispatchedImu;
80  statisticsMsg.num_dispatched_compressed_image = statistics.numDispatchedCompressedImage;
81  statisticsMsg.num_dispatched_ground_surface_spline = statistics.numDispatchedGroundSurfaceSpline;
82  statisticsMsg.num_dispatched_april_tag_detections = statistics.numDispatchedAprilTagDetections;
83 
84  statistics_pub_.publish(statisticsMsg);
85  }
86 }
87 
89 {
90  __sync_fetch_and_add(&subscribers_, 1);
91 }
92 
94 {
95  __sync_fetch_and_sub(&subscribers_, 1);
96 }
97 
98 
99 }
crl::multisense::system::ChannelStatistics::numDispatchedGroundSurfaceSpline
std::size_t numDispatchedGroundSurfaceSpline
multisense_ros::Statistics::statistics_timer_
ros::Timer statistics_timer_
Definition: statistics.h:69
multisense_ros::Statistics::subscribers_
int32_t subscribers_
Definition: statistics.h:80
crl::multisense::system::ChannelStatistics::numDispatchedImu
std::size_t numDispatchedImu
multisense_ros::Statistics::~Statistics
~Statistics()
Definition: statistics.cpp:54
statistics.h
multisense_ros::Statistics::disconnect
void disconnect()
Definition: statistics.cpp:93
ros::Publisher::publish
void publish(const boost::shared_ptr< M > &message) const
ros::NodeHandle::advertise
Publisher advertise(AdvertiseOptions &ops)
crl::multisense::system::ChannelStatistics::numMissedHeaders
std::size_t numMissedHeaders
crl::multisense::system::ChannelStatistics::numDispatchedAprilTagDetections
std::size_t numDispatchedAprilTagDetections
crl::multisense::Channel::getStats
virtual system::ChannelStatistics getStats()=0
crl::multisense::system::ChannelStatistics::numDispatchedPps
std::size_t numDispatchedPps
crl::multisense::system::ChannelStatistics::numDispatchedCompressedImage
std::size_t numDispatchedCompressedImage
multisense_ros::Statistics::driver_
crl::multisense::Channel * driver_
Definition: statistics.h:54
multisense_ros
Definition: camera.h:58
multisense_ros::Statistics::statistics_pub_
ros::Publisher statistics_pub_
Definition: statistics.h:64
multisense_ros::Statistics::queryStatistics
void queryStatistics(const ros::TimerEvent &event)
Definition: statistics.cpp:58
ros::TimerEvent
multisense_ros::Statistics::Statistics
Statistics(crl::multisense::Channel *driver)
Definition: statistics.cpp:40
crl::multisense::Channel
crl::multisense::system::ChannelStatistics::numImageMetaData
std::size_t numImageMetaData
crl::multisense::system::ChannelStatistics::numDispatchedLidar
std::size_t numDispatchedLidar
multisense_ros::Statistics::connect
void connect()
Definition: statistics.cpp:88
multisense_ros::Statistics::device_nh_
ros::NodeHandle device_nh_
Definition: statistics.h:59
ros::NodeHandle::createTimer
Timer createTimer(Duration period, const TimerCallback &callback, bool oneshot=false, bool autostart=true) const
ros::Duration
crl::multisense::system::ChannelStatistics::numDispatchedImage
std::size_t numDispatchedImage
crl::multisense::system::ChannelStatistics::numDroppedAssemblers
std::size_t numDroppedAssemblers
crl::multisense::system::ChannelStatistics
ros::Time::now
static Time now()


multisense_ros
Author(s):
autogenerated on Thu Feb 20 2025 03:51:03