ros2-performance icon indicating copy to clipboard operation
ros2-performance copied to clipboard

Extra options for benchmark

Open EduPonz opened this issue 4 years ago • 2 comments

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 what performance_test::System::wait_pdp_discovery() is expecting.
  • wait-epd: Enable/disable waiting for edp discovery.

EduPonz avatar Dec 11 '19 13:12 EduPonz

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)

alsora avatar Dec 11 '19 16:12 alsora

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.

EduPonz avatar Dec 12 '19 06:12 EduPonz