Skip to content

Conversation

@RaphvK
Copy link

@RaphvK RaphvK commented Jan 16, 2026

Description

The ros2_tracing README refers to @christophebedard's paper "Message Flow Analysis with Complex Causal Links for Distributed ROS 2 Systems", which demonstrates how to trace complex ROS message flows, e.g., if one published message depends on two input messages. As shown in his example repository, this is achieved by adding TRACETOOLS_TRACEPOINT(message_link_* ...) calls to the source code to define the input/output relationships.

The ROS 2 Incubator plugin, which is released with Eclipse Trace Compass already supports this type of tracepoints. However, they are not integrated in the released versions of ros2_tracing. Therefore, I rebased the old branch message-link-instrumentation-iron on the current rolling branch and added necessary changes. Additionally, I added the message_link_* tracepoints to the default events handled by the tracetools_launch.action.Trace() ROS action.

Is this user-facing behavior change?

Did you use Generative AI?

Additional Information

I implemented a test setup to verify that the changes work with ROS 2 Rolling: https://github.com/RaphvK/ros2-message-flow-test/tree/rolling

mergify bot and others added 21 commits June 10, 2024 13:08
…os2#117) (ros2#119)

Signed-off-by: Mattis Kieffer <62772198+mat-kie@users.noreply.github.com>
(cherry picked from commit 7e8d42e)

Co-authored-by: Mattis Kieffer <62772198+mat-kie@users.noreply.github.com>
Signed-off-by: Marco A. Gutierrez <marcogg@marcogg.com>
Signed-off-by: Marco A. Gutierrez <marcogg@marcogg.com>
Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
)

This will make sure that the initial `/ping` message is received no
matter the launch order of the `*ping` and `*pong` executables.

Also, given this guarantee, cancel the timer after the initial `/ping`
message.

Finally, add some helpful debug logs.

Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
(cherry picked from commit 00a4e99)

Co-authored-by: Christophe Bedard <christophe.bedard@apex.ai>
…os2#134)

Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
Signed-off-by: Marco A. Gutierrez <marcogg@marcogg.com>
Signed-off-by: Marco A. Gutierrez <marcogg@marcogg.com>
Signed-off-by: Nathan Wiebe Neufeldt <nwiebeneufeldt@clearpath.ai>
(cherry picked from commit a866b9c)

Co-authored-by: Nathan Wiebe Neufeldt <wn.nathan@gmail.com>
Signed-off-by: Marco A. Gutierrez <marcogg@marcogg.com>
Signed-off-by: Marco A. Gutierrez <marcogg@marcogg.com>
(cherry picked from commit 169c887)

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
Signed-off-by: Marco A. Gutierrez <marcogg@marcogg.com>
Signed-off-by: Marco A. Gutierrez <marcogg@marcogg.com>
(cherry picked from commit 526967c)

Signed-off-by: mosfet80 <10235105+mosfet80@users.noreply.github.com>
Co-authored-by: mosfet80 <10235105+mosfet80@users.noreply.github.com>
Co-authored-by: Christophe Bedard <bedard.christophe@gmail.com>
(cherry picked from commit e175cde)

Signed-off-by: mosfet80 <10235105+mosfet80@users.noreply.github.com>
Co-authored-by: mosfet80 <10235105+mosfet80@users.noreply.github.com>
Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>
Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
Signed-off-by: Raphael van Kempen <raphael.vankempen@ika.rwth-aachen.de>
Signed-off-by: Raphael van Kempen <raphael.vankempen@ika.rwth-aachen.de>
Signed-off-by: Raphael van Kempen <raphael.vankempen@ika.rwth-aachen.de>
@christophebedard christophebedard self-requested a review January 22, 2026 18:05
@christophebedard christophebedard self-assigned this Jan 22, 2026
RaphvK and others added 10 commits January 29, 2026 08:15
Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>
Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
Signed-off-by: Raphael van Kempen <raphael.vankempen@ika.rwth-aachen.de>
Signed-off-by: Raphael van Kempen <raphael.vankempen@ika.rwth-aachen.de>
Signed-off-by: Raphael van Kempen <raphael.vankempen@ika.rwth-aachen.de>
Signed-off-by: Raphael van Kempen <raphael.vankempen@ika.rwth-aachen.de>
@RaphvK RaphvK force-pushed the message-link-instrumentation-rolling branch from 9131388 to ddc303b Compare January 29, 2026 10:01
@RaphvK RaphvK closed this Jan 29, 2026
@RaphvK RaphvK deleted the message-link-instrumentation-rolling branch January 29, 2026 10:08
@RaphvK
Copy link
Author

RaphvK commented Jan 29, 2026

Replaced with new PR including test cases: #233

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants