Skip to content

Emit executor execute tracepoint from shared entity paths - #3368

Open
Quchaosheng wants to merge 1 commit into
ros2:rollingfrom
Quchaosheng:fix/events-cbg-executor-tracepoint
Open

Quchaosheng wants to merge 1 commit into
ros2:rollingfrom
Quchaosheng:fix/events-cbg-executor-tracepoint

Conversation

@Quchaosheng

@Quchaosheng Quchaosheng commented Oct 21, 2026 •

Copy link
Copy Markdown

Ordinary executors emit rclcpp_executor_execute from Executor::execute_any_executable(). EventsCBGExecutor calls the shared execute_subscription() / execute_timer() methods directly, so tracing consumers do not see the corresponding execution events.

This moves the existing timer and subscription tracepoints into those shared execution methods. Ordinary executors retain the same tracepoint semantics, EventsCBGExecutor gains parity, and the deprecated EventsExecutor also emits the subscription tracepoint through the same path. No duplicate tracepoints are introduced.

Service/client/waitable tracepoints are intentionally not added because the ordinary executor path does not emit them today.

Validation

  • DCO: passed.
  • Rpr__rclcpp__ubuntu_resolute_amd64: passed (compile and test).
  • No runtime tracepoint assertion was added; the change is verified by build/test plus source review of the two call paths.

Signed-off-by: Chaosheng Qu <chaosheng.qu.linux@gmail.com>

@fujitatomoya fujitatomoya left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think this is correct fix.

@jmachowinski can you also take a look?

@github-actions

Copy link
Copy Markdown

ABI Compliance Check

✅ Verdict: compatible

Library Verdict Summary
libcomponent_manager.so ✅ compatible No ABI changes detected.
librclcpp.so ✅ compatible No ABI changes detected.
librclcpp_action.so ✅ compatible No ABI changes detected.
librclcpp_lifecycle.so ✅ compatible No ABI changes detected.
✅ libcomponent_manager.so — full abidiff report

Compared:

  • Base: lib-base/libcomponent_manager.so
  • Head: lib-pr/libcomponent_manager.so @ 39ef1a5
(empty report — no differences printed by abidiff)
✅ librclcpp.so — full abidiff report

Compared:

  • Base: lib-base/librclcpp.so
  • Head: lib-pr/librclcpp.so @ 39ef1a5
Functions changes summary: 0 Removed (7 filtered out), 0 Changed (6 filtered out), 0 Added (1 filtered out) functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable


✅ librclcpp_action.so — full abidiff report

Compared:

  • Base: lib-base/librclcpp_action.so
  • Head: lib-pr/librclcpp_action.so @ 39ef1a5
(empty report — no differences printed by abidiff)
✅ librclcpp_lifecycle.so — full abidiff report

Compared:

  • Base: lib-base/librclcpp_lifecycle.so
  • Head: lib-pr/librclcpp_lifecycle.so @ 39ef1a5
(empty report — no differences printed by abidiff)

Updated for commit 39ef1a5 · check run · suppressions: /home/runner/work/_temp/ros2-abi-suppressions.txt

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants