-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add pub/sub init, publish and take instrumentation using tracetools #591
Add pub/sub init, publish and take instrumentation using tracetools #591
Conversation
Is the TRACEPOINT macro dangerous for hard realtime (i.e. using a mutex or the system heap)? The use of TRACEPOINT in rmw_publish.cpp and rmw_take.cpp could then be problematic. |
I think this is a pretty simplistic question; there is a bit more to it: There are a bunch of I do think it would be worth including the LTTng tracepoints by default (see ros2/ros2#1177). In this case or if you install LTTng and re-build ROS 2, if you do not setup LTTng + enable that tracepoint event, it only does a simple check that has virtually no impact at all. If you do enable the event, it can be compatible with real-time if you set up LTTng correctly, see: https://gitlab.com/ros-tracing/ros2_tracing#real-time. If you really have a real-time application (hard real-time or not), chances are you don't use ROS 2 as-is; you probably have a slightly-modified version that you build yourself, so you can just enable the right build option and remove all |
what is your definition about
btw, these are used everywhere in ROS 2 system. i think hardware realtime system is, (probably my definition, maybe not correct...)
if this is what your are expecting for ROS 2 system as-is, probably ROS 2 cannot cover your requirements? |
That sound's fair enough.
I think it's similar to yours. In the context of DDS experienced that people often use the term realtime in a soft or loose manner, i.e. expressing that code is "fast". I use the term hard realtime to distinguish between "fast" code and code that is not interrupted unexpectedly with timing characteristics similar to that of a microcontroller (deadlines, repeatability).
My impression was the goal of ROS 2 is to be hard realtime. Having a single system heap access in a cyclic phase destroys this goal, which is what I have witnessed personally in a project in which I was involved. This made me sensitive to this issue. Heap access in a realtime critical code creates an interaction with all other heap accessing threads in a system, which leads to total unpredictability and hard to dignose errors at the customer. In general, lock free code is not so easy to achieve. Is there some documentation available on what is holding Ros2 back from achieving hard realtime at the moment? Depending on how my job life evolves I may be getting more involved with Ros2 development in the future. I also don't want to reinvent the wheel, I saw that happening over and over too. Thanks for getting me informed. |
one thing that i can introduce is we have https://github.com/ros-realtime/community. that could be the place we can discuss details and plans, i think. |
@christophebedard can you fix the conflict? this needs to be merged in today. |
Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>
67bba17
to
8503580
Compare
@fujitatomoya I rebased to fix the conflicts. New CI run just to be safe: |
I think the warning on Windows is from #513
|
@christophebedard right, this warning is unrelated to this PR. |
ros-rolling-rmw-fastrtps-cpp (6.2.1-1jammy) jammy; urgency=high . * Add pub/sub init, publish and take instrumentation using tracetools (#591 <ros2/rmw_fastrtps#591>) * Add content filter topic feature (#513 <ros2/rmw_fastrtps#513>) * Add sequence numbers to message info structure (#587 <ros2/rmw_fastrtps#587>) * Removed some heap interactions in rmw_serialize.cpp (#590 <ros2/rmw_fastrtps#590>) * Contributors: Chen Lihui, Christophe Bedard, Ivan Santiago Paunovic, WideAwakeTN . ros-rolling-rmw-fastrtps-cpp (6.2.0-1jammy) jammy; urgency=high . * Add EventsExecutor (#468 <ros2/rmw_fastrtps#468>) * Install headers to include/${PROJECT_NAME} (#578 <ros2/rmw_fastrtps#578>) * Contributors: Shane Loretz, iRobot ROS . ros-rolling-rmw-fastrtps-cpp (6.1.2-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (6.1.1-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (6.1.0-1jammy) jammy; urgency=high . * Add client/service QoS getters. (#560 <ros2/rmw_fastrtps#560>) * Contributors: mauropasse . ros-rolling-rmw-fastrtps-cpp (6.0.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (5.2.2-1jammy) jammy; urgency=high . * Correctly recalculate serialized size on bounded sequences. (#540 <ros2/rmw_fastrtps#540>) * Fix type size alignment. (#550 <ros2/rmw_fastrtps#550>) * Contributors: Miguel Company . ros-rolling-rmw-fastrtps-cpp (5.2.1-1jammy) jammy; urgency=high . * Change links from index.ros.org -> docs.ros.org (#539 <ros2/rmw_fastrtps#539>) * Contributors: Chris Lalancette . ros-rolling-rmw-fastrtps-cpp (5.2.0-1jammy) jammy; urgency=high . * Add rmw_publisher_wait_for_all_acked support. (#519 <ros2/rmw_fastrtps#519>) * Contributors: Barry Xu . ros-rolling-rmw-fastrtps-cpp (5.1.0-1jammy) jammy; urgency=high . * Loan messages implementation (#523 <ros2/rmw_fastrtps#523>) * Added is_plain_ attribute to base TypeSupport. * Added new methods to base TypeSupport. * Implementation of rmw_borrow_loaned_message. * Implementation of rmw_return_loaned_message_from_publisher. * Enable loan messages on publishers of plain types. * Implementation for taking loaned messages. * Enable loan messages on subscriptions of plain types. * Contributors: Miguel Company . ros-rolling-rmw-fastrtps-cpp (5.0.0-1jammy) jammy; urgency=high . * Refactor to use DDS standard API (#518 <ros2/rmw_fastrtps#518>) * Unique network flows (#502 <ros2/rmw_fastrtps#502>) * updating quality declaration links (re: ros2/docs.ros2.org#52 <ros2/docs.ros2.org#52>) (#520 <ros2/rmw_fastrtps#520>) * Contributors: Miguel Company, shonigmann . ros-rolling-rmw-fastrtps-cpp (4.5.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (4.4.0-1jammy) jammy; urgency=high . * Add RMW function to check QoS compatibility (#511 <ros2/rmw_fastrtps#511>) * Capture cdr exceptions (#505 <ros2/rmw_fastrtps#505>) * Contributors: Jacob Perron, Miguel Company . ros-rolling-rmw-fastrtps-cpp (4.3.0-1jammy) jammy; urgency=high . * Load profiles based on topic names (#335 <ros2/rmw_fastrtps#335>) * Set rmw_dds_common::GraphCache callback after init succeeds. (#496 <ros2/rmw_fastrtps#496>) * Handle typesupport errors on fetch. (#495 <ros2/rmw_fastrtps#495>) * Contributors: Eduardo Ponz Segrelles, Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (4.2.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (4.1.0-1jammy) jammy; urgency=high . * Check for correct context shutdown (#486 <ros2/rmw_fastrtps#486>) * New environment variable to change easily the publication mode (#470 <ros2/rmw_fastrtps#470>) * Contributors: Ignacio Montesino Valle, José Luis Bueno López . ros-rolling-rmw-fastrtps-cpp (4.0.0-1jammy) jammy; urgency=high . * Discriminate when the Client has gone from when the Client has not completely matched (#467 <ros2/rmw_fastrtps#467>) * Workaround when the client is gone before server sends response * Change add to the map to listener callback * Update the package.xml files with the latest Open Robotics maintainers (#459 <ros2/rmw_fastrtps#459>) * Update Quality Declarations and READMEs (#455 <ros2/rmw_fastrtps#455>) * Add QD links for dependencies to rmw_fastrtps_cpp QD * Provide external dependencies QD links * Update rmw_fastrtps README to use Fast DDS * Update rmw_fastrtps_cpp QD: Fast DDS & unit test * Update README rmw_fastrtps_cpp to QL2 * Contributors: JLBuenoLopez-eProsima, Jaime Martin Losa, José Luis Bueno López, Michael Jeronimo . ros-rolling-rmw-fastrtps-cpp (3.1.4-1jammy) jammy; urgency=high . * Perform fault injection in all creation/destruction APIs. (#453 <ros2/rmw_fastrtps#453>) * Ensure rmw_destroy_node() completes despite run-time errors. (#458 <ros2/rmw_fastrtps#458>) * Update rmw_fastrtps_cpp and rmw_fastrtps_shared_cpp QDs to QL2. (#456 <ros2/rmw_fastrtps#456>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (3.1.3-1jammy) jammy; urgency=high . * Return RMW_RET_UNSUPPORTED in rmw_get_serialized_message_size (#452 <ros2/rmw_fastrtps#452>) * Contributors: Alejandro Hernández Cordero . ros-rolling-rmw-fastrtps-cpp (3.1.2-1jammy) jammy; urgency=high . * Updated publisher/subscription allocation and wait set API return codes (#443 <ros2/rmw_fastrtps#443>) * Added rmw_logging tests (#442 <ros2/rmw_fastrtps#442>) * Contributors: Alejandro Hernández Cordero . ros-rolling-rmw-fastrtps-cpp (3.1.1-1jammy) jammy; urgency=high . * Make service/client construction/destruction implementation compliant (#445 <ros2/rmw_fastrtps#445>) * Make sure type can be unregistered successfully (#437 <ros2/rmw_fastrtps#437>) * Contributors: Barry Xu, Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (3.1.0-1jammy) jammy; urgency=high . * Add tests for native entity getters. (#439 <ros2/rmw_fastrtps#439>) * Avoid deadlock if graph update fails. (#438 <ros2/rmw_fastrtps#438>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (3.0.0-1jammy) jammy; urgency=high . * Call Domain::removePublisher while failure occurs in create_publisher (#434 <ros2/rmw_fastrtps#434>) * Contributors: Barry Xu . ros-rolling-rmw-fastrtps-cpp (2.6.0-1jammy) jammy; urgency=high . * Ensure compliant matched pub/sub count API. (#424 <ros2/rmw_fastrtps#424>) * Ensure compliant publisher QoS queries. (#425 <ros2/rmw_fastrtps#425>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (2.5.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (2.4.0-1jammy) jammy; urgency=high . * Ensure compliant subscription API. (#419 <ros2/rmw_fastrtps#419>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (2.3.0-1jammy) jammy; urgency=high . * Ensure compliant publisher API. (#414 <ros2/rmw_fastrtps#414>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (2.2.0-1jammy) jammy; urgency=high . * Set context actual domain id (#410 <ros2/rmw_fastrtps#410>) * Contributors: Ivan Santiago Paunovic . ros-rolling-rmw-fastrtps-cpp (2.1.0-1jammy) jammy; urgency=high . * Ensure compliant node construction/destruction API. (#408 <ros2/rmw_fastrtps#408>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (2.0.0-1jammy) jammy; urgency=high . * Remove domain_id and localhost_only from node API (#407 <ros2/rmw_fastrtps#407>) * Amend rmw_init() implementation: require enclave. (#406 <ros2/rmw_fastrtps#406>) * Update Quality Declarations to QL3. (#404 <ros2/rmw_fastrtps#404>) * Contributors: Ivan Santiago Paunovic, Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (1.1.0-1jammy) jammy; urgency=high . * Ensure compliant init/shutdown API implementation. (#401 <ros2/rmw_fastrtps#401>) * Update Quality Declaration to QL3. (#403 <ros2/rmw_fastrtps#403>) * Finalize context iff shutdown. (#396 <ros2/rmw_fastrtps#396>) * Make service wait for response reader (#390 <ros2/rmw_fastrtps#390>) * Contributors: Michel Hidalgo, Miguel Company . ros-rolling-rmw-fastrtps-cpp (1.0.1-1jammy) jammy; urgency=high . * Add Security Vulnerability Policy pointing to REP-2006 (#389 <ros2/rmw_fastrtps#389>) * Update QDs for 1.0 (#383 <ros2/rmw_fastrtps#383>) * Contributors: Chris Lalancette, Stephen Brawner . ros-rolling-rmw-fastrtps-cpp (1.0.0-1jammy) jammy; urgency=high . * Remove API related to manual by node liveliness. (#379 <ros2/rmw_fastrtps#379>) * Update quality declarations on feature testing. (#380 <ros2/rmw_fastrtps#380>) * Contributors: Ivan Santiago Paunovic, Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (0.9.1-1jammy) jammy; urgency=high . * Add package READMEs and QUALITY_DECLARATION files (#375 <ros2/rmw_fastrtps#375>) * Added doxyfiles (#372 <ros2/rmw_fastrtps#372>) * Contributors: Alejandro Hernández Cordero, brawner . ros-rolling-rmw-fastrtps-cpp (0.9.0-1jammy) jammy; urgency=high . * Add missing export of rmw_dds_common. (#374 <ros2/rmw_fastrtps#374>) * Rename rosidl_message_bounds_t. (#373 <ros2/rmw_fastrtps#373>) * Feature/services timestamps. (#369 <ros2/rmw_fastrtps#369>) * Add support for taking a sequence of messages. (#366 <ros2/rmw_fastrtps#366>) * security-context -> enclave. (#365 <ros2/rmw_fastrtps#365>) * Rename rosidl_generator_c namespace to rosidl_runtime_c. (#367 <ros2/rmw_fastrtps#367>) * Remove custom typesupport for rmw_dds_common interfaces. (#364 <ros2/rmw_fastrtps#364>) * Added rosidl_runtime c and cpp depencencies. (#351 <ros2/rmw_fastrtps#351>) * Switch to one Participant per Context. (#312 <ros2/rmw_fastrtps#312>) * Add rmw_*_event_init() functions. (#354 <ros2/rmw_fastrtps#354>) * Fixing type support C/CPP mix on rmw_fastrtps_dynamic_cpp. (#350 <ros2/rmw_fastrtps#350>) * Fix build warning in Ubuntu Focal. (#346 <ros2/rmw_fastrtps#346>) * Code style only: wrap after open parenthesis if not in one line. (#347 <ros2/rmw_fastrtps#347>) * Passing down type support information (#342 <ros2/rmw_fastrtps#342>) * Implement functions to get publisher and subcription informations like QoS policies from topic name. (#336 <ros2/rmw_fastrtps#336>) * Contributors: Alejandro Hernández Cordero, Dirk Thomas, Ingo Lütkebohle, Ivan Santiago Paunovic, Jaison Titus, Miaofei Mei, Michael Carroll, Miguel Company, Mikael Arguedas . ros-rolling-rmw-fastrtps-cpp (0.8.1-1jammy) jammy; urgency=high . * use return_loaned_message_from (#334 <ros2/rmw_fastrtps#334>) * Restrict traffic to localhost only if env var is provided (#331 <ros2/rmw_fastrtps#331>) * Zero copy api (#322 <ros2/rmw_fastrtps#322>) * update signature for added pub/sub options (#329 <ros2/rmw_fastrtps#329>) * Contributors: Brian Marchi, Karsten Knese, William Woodall . ros-rolling-rmw-fastrtps-cpp (0.8.0-1jammy) jammy; urgency=high . * Add function for getting clients by node (#293 <ros2/rmw_fastrtps#293>) * Implement get_actual_qos() for subscriptions (#287 <ros2/rmw_fastrtps#287>) * Fix error message (#290 <ros2/rmw_fastrtps#290>) * Contributors: Jacob Perron, M. M . ros-rolling-rmw-fastrtps-cpp (0.7.3-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (0.7.2-1jammy) jammy; urgency=high . * Centralize topic name creation logic and update to match FastRTPS 1.8 API (#272 <ros2/rmw_fastrtps#272>) * Contributors: Nick Burek . ros-rolling-rmw-fastrtps-cpp (0.7.1-1jammy) jammy; urgency=high . * Support arbitrary message namespaces (#266 <ros2/rmw_fastrtps#266>) * Add qos interfaces with no-op (#271 <ros2/rmw_fastrtps#271>) * Updates for preallocation API. (#274 <ros2/rmw_fastrtps#274>) * Contributors: Jacob Perron, Michael Carroll, Ross Desmond . ros-rolling-rmw-fastrtps-cpp (0.7.0-1jammy) jammy; urgency=high . * Add function to get publisher actual qos settings (#267 <ros2/rmw_fastrtps#267>) * pass context to wait set and fini context (#252 <ros2/rmw_fastrtps#252>) * Improve service_is_available logic to protect that client is waiting forever (#238 <ros2/rmw_fastrtps#238>) * Merge pull request #250 <ros2/rmw_fastrtps#250> from ros2/support_static_lib * use namespace_prefix from shared package * Contributors: Dirk Thomas, DongheeYe, William Woodall, ivanpauno . ros-rolling-rmw-fastrtps-cpp (0.6.1-1jammy) jammy; urgency=high . * Add topic cache object for managing topic relations (#236 <ros2/rmw_fastrtps#236>) * Fastrtps 1.7.0 (#233 <ros2/rmw_fastrtps#233>) * RMW_FastRTPS configuration from XML only (#243 <ros2/rmw_fastrtps#243>) * refactor to support init options and context (#237 <ros2/rmw_fastrtps#237>) * Methods to retrieve matched counts on pub/sub (#234 <ros2/rmw_fastrtps#234>) * use uint8_array (#240 <ros2/rmw_fastrtps#240>) * Contributors: Juan Carlos, Karsten Knese, Michael Carroll, MiguelCompany, Ross Desmond, William Woodall . ros-rolling-rmw-fastrtps-cpp (0.6.0-1jammy) jammy; urgency=high . * Add semicolons to all RCLCPP and RCUTILS macros. (#229 <ros2/rmw_fastrtps#229>) * Include node namespaces in get_node_names (#224 <ros2/rmw_fastrtps#224>) * add rmw_get_serialization_format (#215 <ros2/rmw_fastrtps#215>) * Merge pull request #218 <ros2/rmw_fastrtps#218> from ros2/pr203 * Revert "fix template closing indentation (#214 <ros2/rmw_fastrtps#214>)" * fix template closing indentation (#214 <ros2/rmw_fastrtps#214>) * Contributors: Chris Lalancette, Dirk Thomas, Karsten Knese, Michael Carroll, Miguel Company, Mikael Arguedas . ros-rolling-rmw-fastrtps-cpp (0.5.1-1jammy) jammy; urgency=high . * update maintainer * Contributors: Dirk Thomas . ros-rolling-rmw-fastrtps-cpp (0.5.0-1jammy) jammy; urgency=high . * Avoid allocations (#211 <ros2/rmw_fastrtps#211>) * Temporary buffer remove (#207 <ros2/rmw_fastrtps#207>) * Validate the buffer_ of CustomServiceRequest object before using it to (#210 <ros2/rmw_fastrtps#210>) * update usage of rcutils_join_path() (#208 <ros2/rmw_fastrtps#208>) * Expose raw CDR stream for publish and subscribe (#186 <ros2/rmw_fastrtps#186>) * Remove topic partitions (#192 <ros2/rmw_fastrtps#192>) * Fix leak if client reponse is never taken (#201 <ros2/rmw_fastrtps#201>) * Revert "Export rmw_fastrtps_cpp target" (#200 <ros2/rmw_fastrtps#200>) * Support access control (#197 <ros2/rmw_fastrtps#197>) * Export rmw_fastrtps_cpp target (#198 <ros2/rmw_fastrtps#198>) * Fix deserialization segfault in bionic. (#199 <ros2/rmw_fastrtps#199>) * Fix namespaces (#196 <ros2/rmw_fastrtps#196>) * Merge pull request #182 <ros2/rmw_fastrtps#182> from ros2/node_name_in_user_data * add participant listener * add node name to user data * change export order for static linking (#190 <ros2/rmw_fastrtps#190>) * update style (#189 <ros2/rmw_fastrtps#189>) * optimize timeout judgement according to different condition (#187 <ros2/rmw_fastrtps#187>) * use existing check_wait_set_for_data to avoid duplicated code (#185 <ros2/rmw_fastrtps#185>) * Enable logging level manipulation from rmw_fastrtps (#156 <ros2/rmw_fastrtps#156>) * Small performance improvements (#183 <ros2/rmw_fastrtps#183>) * Segmentation error to dereference nullptr (#180 <ros2/rmw_fastrtps#180>) * Contributors: Dirk Thomas, Ethan Gao, Guillaume Autran, Karsten Knese, Michael Carroll, MiguelCompany, Mikael Arguedas, Minggang Wang, Rohit Salem, Shane Loretz, Sriram Raghunathan, William Woodall, jwang11 . ros-rolling-rmw-fastrtps-cpp (0.4.0-1jammy) jammy; urgency=high . * Merge pull request #178 <ros2/rmw_fastrtps#178> from ros2/fix_wrong_count * Merge pull request #177 <ros2/rmw_fastrtps#177> from ros2/rename_group * Wait set two words (#175 <ros2/rmw_fastrtps#175>) * not exporting pthread manually (#174 <ros2/rmw_fastrtps#174>) * Merge pull request #169 <ros2/rmw_fastrtps#169> from ros2/rep149 * Merge pull request #171 <ros2/rmw_fastrtps#171> from jwang11/master * rcutils_join_path returns a char * now. (#173 <ros2/rmw_fastrtps#173>) * memory leak issue (#172 <ros2/rmw_fastrtps#172>) * Unify and simplify de/serializeROSmessage processing * Avoid duplicated code in calculateMaxSerializedSize for array and normal member (#168 <ros2/rmw_fastrtps#168>) * Fix the issues to dereference to nullptr (#165 <ros2/rmw_fastrtps#165>) * Fix rmw_fastrtps dead code (#163 <ros2/rmw_fastrtps#163>) * Merge pull request #167 <ros2/rmw_fastrtps#167> from deng02/tune-count-pub-sub * Remove string allocation in the count of subscribers and publishers * use auto deduction and nullptr to keep coding style consistent (#162 <ros2/rmw_fastrtps#162>) * Merge pull request #164 <ros2/rmw_fastrtps#164> from dejanpan/master * Fix several parameter check issues in rmw_fastrtps_cpp apis * Remove unnecessary dependency on rosidl_generator_cpp (#161 <ros2/rmw_fastrtps#161>) * Move the hasData checks for non-blocking wait 'timeout' higher (#158 <ros2/rmw_fastrtps#158>) * Support loading default XML profile file (#153 <ros2/rmw_fastrtps#153>) * Drop duplicated rmw_init.cpp in rmw_fastrtps_cpp/CMakeLists.txt (#155 <ros2/rmw_fastrtps#155>) * Merge pull request #154 <ros2/rmw_fastrtps#154> from ros2/uncrustify_master * Removing magic numbers: old maximun lengths (#152 <ros2/rmw_fastrtps#152>)
ros-rolling-rmw-fastrtps-shared-cpp (6.2.1-1jammy) jammy; urgency=high . * Address linter waning for windows. (#592 <ros2/rmw_fastrtps#592>) * Add pub/sub init, publish and take instrumentation using tracetools (#591 <ros2/rmw_fastrtps#591>) * Add content filter topic feature (#513 <ros2/rmw_fastrtps#513>) * Add sequence numbers to message info structure (#587 <ros2/rmw_fastrtps#587>) * Contributors: Chen Lihui, Christophe Bedard, Ivan Santiago Paunovic, Tomoya Fujita . ros-rolling-rmw-fastrtps-shared-cpp (6.2.0-1jammy) jammy; urgency=high . * Add EventsExecutor (#468 <ros2/rmw_fastrtps#468>) * Complete events support (#583 <ros2/rmw_fastrtps#583>) * Install headers to include/${PROJECT_NAME} (#578 <ros2/rmw_fastrtps#578>) * Change default to synchronous (#571 <ros2/rmw_fastrtps#571>) * Contributors: Audrow Nash, Miguel Company, Shane Loretz, iRobot ROS . ros-rolling-rmw-fastrtps-shared-cpp (6.1.2-1jammy) jammy; urgency=high . * Fix cpplint error (#574 <ros2/rmw_fastrtps#574>) * Contributors: Jacob Perron . ros-rolling-rmw-fastrtps-shared-cpp (6.1.1-1jammy) jammy; urgency=high . * Fixes for uncrustify 0.72 (#572 <ros2/rmw_fastrtps#572>) * Contributors: Chris Lalancette . ros-rolling-rmw-fastrtps-shared-cpp (6.1.0-1jammy) jammy; urgency=high . * Add client/service QoS getters. (#560 <ros2/rmw_fastrtps#560>) * Fix QoS depth settings for clients/service being ignored. (#564 <ros2/rmw_fastrtps#564>) * Contributors: Chen Lihui, mauropasse . ros-rolling-rmw-fastrtps-shared-cpp (6.0.0-1jammy) jammy; urgency=high . * Update rmw_context_impl_t definition. (#558 <ros2/rmw_fastrtps#558>) * Update the LoanManager to do internal locking. (#552 <ros2/rmw_fastrtps#552>) * Contributors: Chris Lalancette, Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (5.2.2-1jammy) jammy; urgency=high . * Pass the CRL down to Fast-DDS if available. (#546 <ros2/rmw_fastrtps#546>) * Contributors: Chris Lalancette . ros-rolling-rmw-fastrtps-shared-cpp (5.2.1-1jammy) jammy; urgency=high . * Use the new rmw_dds_common::get_security_files (#544 <ros2/rmw_fastrtps#544>) * Support for SubscriptionOptions::ignore_local_publications (#536 <ros2/rmw_fastrtps#536>) * Change links from index.ros.org -> docs.ros.org (#539 <ros2/rmw_fastrtps#539>) * Contributors: Chris Lalancette, Jose Antonio Moral . ros-rolling-rmw-fastrtps-shared-cpp (5.2.0-1jammy) jammy; urgency=high . * Add rmw_publisher_wait_for_all_acked support. (#519 <ros2/rmw_fastrtps#519>) * Contributors: Barry Xu . ros-rolling-rmw-fastrtps-shared-cpp (5.1.0-1jammy) jammy; urgency=high . * Loan messages implementation (#523 <ros2/rmw_fastrtps#523>) * Added is_plain_ attribute to base TypeSupport. * Added new methods to base TypeSupport. * Implementation of rmw_borrow_loaned_message. * Implementation of rmw_return_loaned_message_from_publisher. * Enable loan messages on publishers of plain types. * Implementation for taking loaned messages. * Enable loan messages on subscriptions of plain types. * Export rmw_dds_common as an rmw_fastrtps_shared_cpp dependency (#530 <ros2/rmw_fastrtps#530>) * Update includes after rcutils/get_env.h deprecation (#529 <ros2/rmw_fastrtps#529>) * Contributors: Christophe Bedard, Michel Hidalgo, Miguel Company . ros-rolling-rmw-fastrtps-shared-cpp (5.0.0-1jammy) jammy; urgency=high . * Refactor to use DDS standard API (#518 <ros2/rmw_fastrtps#518>) * Unique network flows (#502 <ros2/rmw_fastrtps#502>) * updating quality declaration links (re: ros2/docs.ros2.org#52 <ros2/docs.ros2.org#52>) (#520 <ros2/rmw_fastrtps#520>) * Contributors: Miguel Company, shonigmann . ros-rolling-rmw-fastrtps-shared-cpp (4.5.0-1jammy) jammy; urgency=high . * Take and return new RMW_DURATION_INFINITE correctly (#515 <ros2/rmw_fastrtps#515>) * Contributors: Emerson Knapp . ros-rolling-rmw-fastrtps-shared-cpp (4.4.0-1jammy) jammy; urgency=high . * Add RMW function to check QoS compatibility (#511 <ros2/rmw_fastrtps#511>) * Capture cdr exceptions (#505 <ros2/rmw_fastrtps#505>) * Contributors: Jacob Perron, Miguel Company . ros-rolling-rmw-fastrtps-shared-cpp (4.3.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-shared-cpp (4.2.0-1jammy) jammy; urgency=high . * Make sure to lock the mutex protecting client_endpoints_. (#492 <ros2/rmw_fastrtps#492>) * Contributors: Chris Lalancette . ros-rolling-rmw-fastrtps-shared-cpp (4.1.0-1jammy) jammy; urgency=high . * Use interface whitelist for localhost only (#476 <ros2/rmw_fastrtps#476>) * Make use of error return value in decrement_context_impl_ref_count (#488 <ros2/rmw_fastrtps#488>) * Remove unnecessary includes (#487 <ros2/rmw_fastrtps#487>) * Use new time_utils function to limit rmw_time_t values to 32-bits (#485 <ros2/rmw_fastrtps#485>) * New environment variable to change easily the publication mode (#470 <ros2/rmw_fastrtps#470>) * Remove unused headers MessageTypeSupport.hpp and ServiceTypeSupport.hpp (#481 <ros2/rmw_fastrtps#481>) * Contributors: Jacob Perron, José Luis Bueno López, Michael Jeronimo, Miguel Company, Stephen Brawner . ros-rolling-rmw-fastrtps-shared-cpp (4.0.0-1jammy) jammy; urgency=high . * Discriminate when the Client has gone from when the Client has not completely matched (#467 <ros2/rmw_fastrtps#467>) * Workaround when the client is gone before server sends response * Change add to the map to listener callback * Update the package.xml files with the latest Open Robotics maintainers (#459 <ros2/rmw_fastrtps#459>) * Update Quality Declarations and READMEs (#455 <ros2/rmw_fastrtps#455>) * Add QD links for dependencies to rmw_fastrtps_shared_cpp QD. * Provide external dependencies QD links. * Update rmw_fastrtps_shared_cpp QD: Fast DDS * Update README rmw_fastrtps_shared_cpp to QL2 * Contributors: JLBuenoLopez-eProsima, Jaime Martin Losa, José Luis Bueno López, Michael Jeronimo . ros-rolling-rmw-fastrtps-shared-cpp (3.1.4-1jammy) jammy; urgency=high . * Perform fault injection in all creation/destruction APIs. (#453 <ros2/rmw_fastrtps#453>) * Ensure rmw_destroy_node() completes despite run-time errors. (#458 <ros2/rmw_fastrtps#458>) * Handle too large QoS queue depths. (#457 <ros2/rmw_fastrtps#457>) * Update rmw_fastrtps_cpp and rmw_fastrtps_shared_cpp QDs to QL2. (#456 <ros2/rmw_fastrtps#456>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (3.1.3-1jammy) jammy; urgency=high . * checked client implementation and return RMW_RET_INCORRECT_RMW_IMPLEMENTATION (#451 <ros2/rmw_fastrtps#451>) * Update service/client request/response API error returns (#450 <ros2/rmw_fastrtps#450>) * Contributors: Alejandro Hernández Cordero, Jose Tomas Lorente . ros-rolling-rmw-fastrtps-shared-cpp (3.1.2-1jammy) jammy; urgency=high . * Updated publisher/subscription allocation and wait set API return codes (#443 <ros2/rmw_fastrtps#443>) * Added rmw_logging tests (#442 <ros2/rmw_fastrtps#442>) * Contributors: Alejandro Hernández Cordero . ros-rolling-rmw-fastrtps-shared-cpp (3.1.1-1jammy) jammy; urgency=high . * Add tests for RMW QoS to DDS attribute conversion. (#449 <ros2/rmw_fastrtps#449>) * Make service/client construction/destruction implementation compliant (#445 <ros2/rmw_fastrtps#445>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (3.1.0-1jammy) jammy; urgency=high . * Inject faults on __rmw_publish() and run_listener_thread() call. (#441 <ros2/rmw_fastrtps#441>) * Update gid API return codes. (#440 <ros2/rmw_fastrtps#440>) * Update graph API return codes. (#436 <ros2/rmw_fastrtps#436>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (3.0.0-1jammy) jammy; urgency=high . * Update rmw_take_serialized() and rmw_take_with_message_info() error returns (#435 <ros2/rmw_fastrtps#435>) * Update rmw_take() error returns (#432 <ros2/rmw_fastrtps#432>) * Update rmw_publish() error returns (#430 <ros2/rmw_fastrtps#430>) * Update rmw_publish_serialized_message() error returns (#431 <ros2/rmw_fastrtps#431>) * Contributors: Jose Tomas Lorente, Lobotuerk . ros-rolling-rmw-fastrtps-shared-cpp (2.6.0-1jammy) jammy; urgency=high . * Improve __rmw_create_wait_set() implementation. (#427 <ros2/rmw_fastrtps#427>) * Ensure compliant matched pub/sub count API. (#424 <ros2/rmw_fastrtps#424>) * Ensure compliant publisher QoS queries. (#425 <ros2/rmw_fastrtps#425>) * Fix memory leak that wait_set might be not destoryed in some case. (#423 <ros2/rmw_fastrtps#423>) * Contributors: Chen Lihui, Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (2.5.0-1jammy) jammy; urgency=high . * Avoid unused identifier variable warnings. (#422 <ros2/rmw_fastrtps#422>) * Fix trying to get topic data that was already removed. (#417 <ros2/rmw_fastrtps#417>) * Contributors: Chen Lihui, Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (2.4.0-1jammy) jammy; urgency=high . * Ensure compliant subscription API. (#419 <ros2/rmw_fastrtps#419>) * Use package path to TypeSupport.hpp headers in ServiceTypeSupport and MessageTypeSupport (#415 <ros2/rmw_fastrtps#415>) Use package in path to TypeSupport header for ServiceTypeSupport/MessageTypeSupport * Contributors: Jose Luis Rivero, Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (2.3.0-1jammy) jammy; urgency=high . * Ensure compliant publisher API. (#414 <ros2/rmw_fastrtps#414>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (2.2.0-1jammy) jammy; urgency=high . * Set context actual domain id (#410 <ros2/rmw_fastrtps#410>) * Contributors: Ivan Santiago Paunovic . ros-rolling-rmw-fastrtps-shared-cpp (2.1.0-1jammy) jammy; urgency=high . * Add missing thread-safety annotation in ServicePubListener (#409 <ros2/rmw_fastrtps#409>) * Ensure compliant node construction/destruction API. (#408 <ros2/rmw_fastrtps#408>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (2.0.0-1jammy) jammy; urgency=high . * Update Quality Declarations to QL3. (#404 <ros2/rmw_fastrtps#404>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (1.1.0-1jammy) jammy; urgency=high . * Do not use string literals as implementation identifiers in tests. (#402 <ros2/rmw_fastrtps#402>) * Ensure compliant init options API implementations. (#399 <ros2/rmw_fastrtps#399>) * Finalize context iff shutdown. (#396 <ros2/rmw_fastrtps#396>) * Handle RMW_DEFAULT_DOMAIN_ID. (#394 <ros2/rmw_fastrtps#394>) * Make service wait for response reader (#390 <ros2/rmw_fastrtps#390>) * Contributors: Michel Hidalgo, Miguel Company . ros-rolling-rmw-fastrtps-shared-cpp (1.0.1-1jammy) jammy; urgency=high . * Add Security Vulnerability Policy pointing to REP-2006 (#389 <ros2/rmw_fastrtps#389>) * Do not compile assert death tests in Release builds (#393 <ros2/rmw_fastrtps#393>) * Add test coverage for name mangling and namespacing-specific API (#388 <ros2/rmw_fastrtps#388>) * Add test coverage for GUID utilities (#387 <ros2/rmw_fastrtps#387>) * Drop unused TopicCache sources (#386 <ros2/rmw_fastrtps#386>) * Add test coverage for rmw_init_options API (#385 <ros2/rmw_fastrtps#385>) * Update QDs for 1.0 (#383 <ros2/rmw_fastrtps#383>) * Contributors: Chris Lalancette, Michel Hidalgo, Stephen Brawner . ros-rolling-rmw-fastrtps-shared-cpp (1.0.0-1jammy) jammy; urgency=high . * Remove API related to manual by node liveliness. (#379 <ros2/rmw_fastrtps#379>) * Update quality declarations on feature testing. (#380 <ros2/rmw_fastrtps#380>) * Contributors: Ivan Santiago Paunovic, Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (0.9.1-1jammy) jammy; urgency=high . * Fill service_info timestamps from sample_info (#378 <ros2/rmw_fastrtps#378>) * Fix unused variabled warning (#377 <ros2/rmw_fastrtps#377>) * Add basic support for security logging plugin (#362 <ros2/rmw_fastrtps#362>) * Add package READMEs and QUALITY_DECLARATION files (#375 <ros2/rmw_fastrtps#375>) * Added doxyfiles (#372 <ros2/rmw_fastrtps#372>) * Contributors: Alejandro Hernández Cordero, Ingo Lütkebohle, Jacob Perron, Kyle Fazzari, brawner . ros-rolling-rmw-fastrtps-shared-cpp (0.9.0-1jammy) jammy; urgency=high . * Feature/services timestamps. (#369 <ros2/rmw_fastrtps#369>) * Add support for taking a sequence of messages. (#366 <ros2/rmw_fastrtps#366>) * Fill message_info timestamp. (#368 <ros2/rmw_fastrtps#368>) * Export targets in a addition to include directories / libraries. (#371 <ros2/rmw_fastrtps#371>) * Support for API break on Fast RTPS 2.0. (#370 <ros2/rmw_fastrtps#370>) * security-context -> enclave. (#365 <ros2/rmw_fastrtps#365>) * Switch to one Participant per Context. (#312 <ros2/rmw_fastrtps#312>) * Correct error message when event is not supported. (#358 <ros2/rmw_fastrtps#358>) * Add rmw_*_event_init() functions. (#354 <ros2/rmw_fastrtps#354>) * Fixing type support C/CPP mix on rmw_fastrtps_dynamic_cpp. (#350 <ros2/rmw_fastrtps#350>) * Fix build warning in Ubuntu Focal. (#346 <ros2/rmw_fastrtps#346>) * Change rmw_topic_endpoint_info_array.count to .size. (#348 <ros2/rmw_fastrtps#348>) * Code style only: wrap after open parenthesis if not in one line. (#347 <ros2/rmw_fastrtps#347>) * Fix unprotected use of mutex-guarded variable. (#345 <ros2/rmw_fastrtps#345>) * Passing down type support information (#342 <ros2/rmw_fastrtps#342>) * Implement functions to get publisher and subcription informations like QoS policies from topic name. (#336 <ros2/rmw_fastrtps#336>) * Contributors: Dirk Thomas, Emerson Knapp, Ingo Lütkebohle, Ivan Santiago Paunovic, Jaison Titus, Miaofei Mei, Michael Carroll, Miguel Company, Mikael Arguedas . ros-rolling-rmw-fastrtps-shared-cpp (0.8.1-1jammy) jammy; urgency=high . * Restrict traffic to localhost only if env var is provided (#331 <ros2/rmw_fastrtps#331>) * Added new functions which can be used to get rmw_qos_profile_t from WriterQos and ReaderQos (#328 <ros2/rmw_fastrtps#328>) * Renamed dds_qos_to_rmw_qos to dds_attributes_to_rmw_qos (#330 <ros2/rmw_fastrtps#330>) * Contributors: Brian Marchi, jaisontj . ros-rolling-rmw-fastrtps-shared-cpp (0.8.0-1jammy) jammy; urgency=high . * Correct error message (#320 <ros2/rmw_fastrtps#320>) * Return specific error code when node is not found (#311 <ros2/rmw_fastrtps#311>) * Correct linter failure (#318 <ros2/rmw_fastrtps#318>) * Fix bug in graph API by node (#316 <ros2/rmw_fastrtps#316>) * fix method name change from 1.8.1->1.9.0 (#302 <ros2/rmw_fastrtps#302>) * Add missing lock guards for discovered_names and discovered_namespaces (#301 <ros2/rmw_fastrtps#301>) * Add function for getting clients by node (#293 <ros2/rmw_fastrtps#293>) * Enable manual_by_node and node liveliness assertion (#298 <ros2/rmw_fastrtps#298>) * Enable assert liveliness on publisher. (#296 <ros2/rmw_fastrtps#296>) * Use rcpputils::find_and_replace instead of std::regex_replace (#291 <ros2/rmw_fastrtps#291>) * Fix a comparison with a sign mismatch (#288 <ros2/rmw_fastrtps#288>) * Implement get_actual_qos() for subscriptions (#287 <ros2/rmw_fastrtps#287>) * add missing qos setings in get_actual_qos() (#284 <ros2/rmw_fastrtps#284>) * Fix ABBA deadlock. * Contributors: Chris Lalancette, Emerson Knapp, Jacob Perron, M. M, Scott K Logan, William Woodall, ivanpauno . ros-rolling-rmw-fastrtps-shared-cpp (0.7.3-1jammy) jammy; urgency=high . * Protection of discovered_names and discovered_namespaces (#283 <ros2/rmw_fastrtps#283>) * Disable all liveliness until it is actually supported (#282 <ros2/rmw_fastrtps#282>) * Contributors: Emerson Knapp, MiguelCompany . ros-rolling-rmw-fastrtps-shared-cpp (0.7.2-1jammy) jammy; urgency=high . * fix log_debug typo in rmw_count (#279 <ros2/rmw_fastrtps#279>) * Fastrtps18 event callbacks policies (#275 <ros2/rmw_fastrtps#275>) * Centralize topic name creation logic and update to match FastRTPS 1.8 API (#272 <ros2/rmw_fastrtps#272>) * Contributors: 1r0b1n0, Emerson Knapp, Nick Burek . ros-rolling-rmw-fastrtps-shared-cpp (0.7.1-1jammy) jammy; urgency=high . * Support arbitrary message namespaces (#266 <ros2/rmw_fastrtps#266>) * Set more correct return values for unimplemented features (#276 <ros2/rmw_fastrtps#276>) * Add qos interfaces with no-op (#271 <ros2/rmw_fastrtps#271>) * Updates for preallocation API. (#274 <ros2/rmw_fastrtps#274>) * Fix logging in rmw_node_info_and_types.cpp (#273 <ros2/rmw_fastrtps#273>) * Contributors: Emerson Knapp, Jacob Perron, Michael Carroll, Ross Desmond, Thomas Moulard . ros-rolling-rmw-fastrtps-shared-cpp (0.7.0-1jammy) jammy; urgency=high . * Thread safety annotation - minimally intrusive first pass (#259 <ros2/rmw_fastrtps#259>) * Add function to get publisher actual qos settings (#267 <ros2/rmw_fastrtps#267>) * Fixed race condition between taking sample and updating counter. (#264 <ros2/rmw_fastrtps#264>) * Fix cpplint error * change count type to size_t to avoid warning (#262 <ros2/rmw_fastrtps#262>) * update listener logic for accurate counting (#262 <ros2/rmw_fastrtps#262>) * Make sure to include the C++ headers used by these headers. (#256 <ros2/rmw_fastrtps#256>) * pass context to wait set and fini context (#252 <ros2/rmw_fastrtps#252>) * Improve service_is_available logic to protect that client is waiting forever (#238 <ros2/rmw_fastrtps#238>) * Merge pull request #250 <ros2/rmw_fastrtps#250> from ros2/support_static_lib * use namespace_prefix from shared package * make namespace_prefix header public * Use empty() to check for an empty string (#247 <ros2/rmw_fastrtps#247>) * We can compare a std::string with a const char* using operator==, simplifies the code (#248 <ros2/rmw_fastrtps#248>) * Use empty() instead of size() to check if a vector/map contains elements and fixed some incorrect logging (#245 <ros2/rmw_fastrtps#245>) * Fix guard condition trigger error (#235 <ros2/rmw_fastrtps#235>) * Contributors: Chris Lalancette, Dirk Thomas, DongheeYe, Emerson Knapp, Jacob Perron, Johnny Willemsen, Ricardo González, William Woodall, ivanpauno . ros-rolling-rmw-fastrtps-shared-cpp (0.6.1-1jammy) jammy; urgency=high . * Add topic cache object for managing topic relations (#236 <ros2/rmw_fastrtps#236>) * Fix lint: remove trailing whitespace (#244 <ros2/rmw_fastrtps#244>) * Fastrtps 1.7.0 (#233 <ros2/rmw_fastrtps#233>) * RMW_FastRTPS configuration from XML only (#243 <ros2/rmw_fastrtps#243>) * Methods to retrieve matched counts on pub/sub (#234 <ros2/rmw_fastrtps#234>) * use uint8_array (#240 <ros2/rmw_fastrtps#240>) * Contributors: Jacob Perron, Juan Carlos, Karsten Knese, Michael Carroll, MiguelCompany, Ross Desmond . ros-rolling-rmw-fastrtps-shared-cpp (0.6.0-1jammy) jammy; urgency=high . * use new error handling API from rcutils (#231 <ros2/rmw_fastrtps#231>) * Add semicolons to all RCLCPP and RCUTILS macros. (#229 <ros2/rmw_fastrtps#229>) * separating identity and permission CAs (#227 <ros2/rmw_fastrtps#227>) * Include node namespaces in get_node_names (#224 <ros2/rmw_fastrtps#224>) * allow builtin reader/writer to reallocate memory if needed (#221 <ros2/rmw_fastrtps#221>) * Improve runtime performance of rmw_count_XXX functions (#216 <ros2/rmw_fastrtps#216>) (#217 <ros2/rmw_fastrtps#217>) * Merge pull request #218 <ros2/rmw_fastrtps#218> from ros2/pr203 * Refs #3061 <https://github.com/ros2/rmw_fastrtps/issues/3061>. Leaving common code only on rmw_fastrtps_shared_cpp. * Refs #3061 <https://github.com/ros2/rmw_fastrtps/issues/3061>. Package rmw_fastrtps_cpp copied to rmw_fastrtps_shared_cpp. * Contributors: Chris Lalancette, Dirk Thomas, Guillaume Autran, Michael Carroll, Miguel Company, Mikael Arguedas, William Woodall . ros-rolling-rmw-fastrtps-shared-cpp (0.5.1-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-shared-cpp (0.5.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-shared-cpp (0.4.0-1jammy) jammy; urgency=high
This adds tracing instrumentation using
tracetools
for publisher/subscription initialization at thermw
level. By recording the pub/sub GIDs, we can match ROS 2 pubs/subs with the corresponding DDS writers/readers.This also adds a tracepoint for
rmw_publish
andrmw_take
so that we can track published/taken messages at the rmw level.For simplicity, this only adds instrumentation for
rmw_fastrtps_cpp
and notrmw_fastrtps_dynamic_cpp
, since the former is the default RMW implementation while the latter is a tier 2 implementation.Equivalent to this PR for
rmw_cyclonedds_cpp
: ros2/rmw_cyclonedds#329. Since the default RMW implementation was changed fromrmw_cyclonedds_cpp
tormw_fastrtps_cpp
, it would be great to supportrmw_fastrtps_cpp
.Signed-off-by: Christophe Bedard bedard.christophe@gmail.com