Skip to content

Agnocast initialization tracepoints

Relationships for each Agnocast initialization trace points#

Relationships of each trace point related to a single agnocast node are shown as follows.

Unlike ROS 2 initialization trace points, agnocast_subscription_init and agnocast_timer_init directly contain callback, callback_group, and symbol fields. Therefore, separate trace points such as rclcpp_callback_register, callback_group_add_subscription, and callback_group_add_timer are not needed. As a result, the executor/callback group structure and the node structure can be represented in a single diagram.

erDiagram
  agnocast_init {
    address context_handle
  }

  agnocast_node_init {
    address node_handle
    string node_name
    string namespace
  }

  agnocast_publisher_init {
    address publisher_handle
    address node_handle
    string topic_name
    size_t queue_depth
  }

  agnocast_subscription_init {
    address subscription_handle
    address node_handle
    address callback
    address callback_group
    string symbol
    string topic_name
    size_t queue_depth
    uint64_t pid_callback_info_id
  }

  agnocast_timer_init {
    address timer_handle
    address node_handle
    address callback
    address callback_group
    string symbol
    int64_t period
  }

  agnocast_add_callback_group {
    address executor_addr
    address node_handle
    address callback_group_addr
    string group_type_name
  }

  agnocast_construct_executor {
    address executor_addr
    string executor_type_name
  }

  agnocast_node_init ||--o{ agnocast_publisher_init : node_handle
  agnocast_node_init ||--o{ agnocast_subscription_init : node_handle
  agnocast_node_init ||--o{ agnocast_timer_init : node_handle
  agnocast_construct_executor ||--o{ agnocast_add_callback_group : executor_addr
  agnocast_add_callback_group ||--o{ agnocast_subscription_init : callback_group_addr
  agnocast_add_callback_group ||--o{ agnocast_timer_init : callback_group_addr

Trace point definition#

ros2_caret:agnocast_init#

[Hooked tracepoints]

Sampled items

  • void * context_handle
  • int64_t init_timestamp (caret_trace added)

ros2_caret:agnocast_node_init#

[Hooked tracepoints]

Sampled items

  • void * node_handle
  • char * node_name
  • char * namespace
  • int64_t init_timestamp (caret_trace added)

ros2_caret:agnocast_publisher_init#

[Hooked tracepoints]

Sampled items

  • void * publisher_handle
  • void * node_handle
  • char * topic_name
  • size_t queue_depth
  • int64_t init_timestamp (caret_trace added)

ros2_caret:agnocast_subscription_init#

[Hooked tracepoints]

Sampled items

  • void * subscription_handle
  • void * node_handle
  • void * callback
  • void * callback_group
  • char * symbol
  • char * topic_name
  • size_t queue_depth
  • uint64_t pid_callback_info_id
  • int64_t init_timestamp (caret_trace added)

Note

In older versions, pid_callback_info_id may be recorded as pid_ciid.


ros2_caret:agnocast_timer_init#

[Hooked tracepoints]

Sampled items

  • void * timer_handle
  • void * node_handle
  • void * callback
  • void * callback_group
  • char * symbol
  • int64_t period
  • int64_t init_timestamp (caret_trace added)

ros2_caret:agnocast_add_callback_group#

[Hooked tracepoints]

Sampled items

  • void * executor_addr
  • void * node_handle
  • void * callback_group_addr
  • char * group_type_name
  • int64_t init_timestamp (caret_trace added)

ros2_caret:agnocast_construct_executor#

[Hooked tracepoints]

Sampled items

  • void * executor_addr
  • char * executor_type_name
  • int64_t init_timestamp (caret_trace added)