Skip to content

FEAT: Distinguishing between callback types #4

Description

@wkaisertexas

Using rclcpp_timer_callback_added, rclcpp_subscription_callback_added, and rclcpp_service_callback_added the types of callbacks can be differentiated.

DEFINE_TRACEPOINT(
  rclcpp_timer_callback_added,
  TRACEPOINT_PARAMS(
    const void * timer_handle,
    const void * callback),
  TRACEPOINT_ARGS(
    timer_handle,
    callback))

DEFINE_TRACEPOINT(
  rclcpp_subscription_callback_added,
  TRACEPOINT_PARAMS(
    const void * subscription,
    const void * callback),
  TRACEPOINT_ARGS(
    subscription,
    callback))

DEFINE_TRACEPOINT(
  rclcpp_service_callback_added,
  TRACEPOINT_PARAMS(
    const void * service_handle,
    const void * callback),
  TRACEPOINT_ARGS(
    service_handle,
    callback))

Because the name of the function is unfortunately mangled in the callback, this could help distinguish them without significantly contributing to tracing overhead.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions