ros2-performance
ros2-performance copied to clipboard
Extra options for benchmark
This PR adds three command line arguments to the benchmark application
-
parameter-server
: Enable/disable parameter server. The parameter server is by default activated, and therefore some services are created when creating a ROS 2 node. This has an impact in the memory consumption that is not representative of the use case, since the benchmark does not use these services. -
wait-pdp
: Enable/disable waiting for pdp discovery. Whether or not to wait for participant discovery before starting sampling. This flag is for instance necessary when testing for Fast-RTPS with participant whilisting, because in that case, each participant only matches with the ones in its whitelist, resulting in less "matches" than whatperformance_test::System::wait_pdp_discovery()
is expecting. -
wait-epd
: Enable/disable waiting for edp discovery.
Thank you for the contribution!
What about merging wait-pdp
and wait-edp
into a single option wait-discovery
?
I don't see cases where it may be useful to enable only one but not the other (moreover, if wait-pdp
is for any reason set to false, wait-edp
does not make a lot of sense)
Yeah, actually spin()
was taking a wait-discovery
boolean that was always passed as true. The only reason to separate them is because in our try-outs with the participant white-list (we are filtering participants in the participant discovery protocol), we were actually commenting out wait_pdp_discovery()
(as I describe in #8) and were only using wait_edp_discovery()
. In this sense, if the feature request #8 is tackled, then it wouldn't make sense to separate wait-pdp
and wait-edp
. That would in my opinion be the best option.