Skip to content

End-to-End レイテンシの測定方法#

以下にアーキテクチャファイルのフォーマットを示します。

の付いた項目は、測定対象のアプリケーションの実装を確認の上、手作業での修正が必要な項目です。
の付いていない項目は雛形として自動的に記載されます

named_paths:【パス情報】
- path_name: target_path【パスの名前】
  node_chain:
  - node_name: /ping_node 【ノード名】
    publish_topic_name: /chatter 【ノードがpublishするトピック名】
    subscribe_topic_name: UNDEFINED【ノードがsubscribeするトピック名】
  - node_name: /pong_node
    publish_topic_name: UNDEFINED
    subscribe_topic_name: /chatter

executors:【エグゼキューター情報】
  - executor_type: single_threaded_executor【エグゼキューター種別】
    executor_name: 【エグゼキューター名】
    callback_group_names:
    - /ping_node/callback_group_0 【追加されたコールバックグループ名】
    - /pong_node/callback_group_0

nodes:【ノード情報】
- node_name: /ping_node【ノード名】

  callback_groups:【コールバックグループの情報】
  - callback_group_type:【コールバックグループの種別】
    callback_group_name: /ping_node/callback_group_0 【コールバックグループ名】
    callback_names:
    - /ping_node/callback_0 【追加されたコールバック名】

  callbacks:【コールバックの情報】
  - callback_name: subscription_callback_0【コールバック名】
    type: subscription_callback【コールバックの種別】
    topic_name: /topic3【トピック名】
    symbol: Node::{lambda()}【コールバック関数のシンボル名】
  - callback_name: timer_callback_0【コールバック名】
    type: timer_callback【コールバックの種類】
    period_ns: 100000000【タイマーコールバックの周期】
    symbol: Node::{lambda()}【コールバック関数のシンボル名】

  variable_passings:【変数を介したコールバック間のメッセージ渡し】
  - callback_name_write: subscription_callback_0【コールバック名*】
    callback_name_read: timer_callback_0【コールバック名*】

  publishes:【パブリッシュの情報】
  - topic_name: /ping【トピック名】
    callback_names:
    - timer_callback_0【コールバック名*】
  subscribes:【サブスクライブの情報】
  - topic_name: /pong【トピック名】
    callback_name: timer_callback_0【コールバック名】

  message_contexts:【ノードレイテンシの定義】
  - context_type: use_latest_message【算出方法の種別*】
    subscription_topic_name: /pong【ノードへの入力トピック名】
    publisher_topic_name: /ping【ノードからの出力トピック名】