dataflow-analysis/trace-analysis.ipynb

2042 lines
2.4 MiB
Text
Raw Normal View History

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import sys\n",
"import babeltrace\n",
"import numpy as np\n",
"import pandas as pd\n",
"from matplotlib import pyplot as plt\n",
"\n",
"from IPython.display import display, clear_output\n",
"\n",
"sys.path.append(\"/home/adlink/ros2-workspace/install/tracetools_read/lib/python3.8/site-packages/\")\n",
"sys.path.append(\"/home/adlink/ros2-workspace/src/tracetools_analysis/tracetools_analysis/\")\n",
"from tracetools_read.trace import *\n",
"from tracetools_analysis.loading import load_file\n",
"from tracetools_analysis.processor.ros2 import Ros2Handler\n",
"from tracetools_analysis.utils.ros2 import Ros2DataModelUtil"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"found converted file: /home/adlink/.ros/tracing/autoware-trace/converted\n"
]
}
],
"source": [
"path = os.path.expanduser(\"~/.ros/tracing/autoware-trace/\")\n",
"file = load_file(path)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" [100%] [Ros2Handler]\n"
]
}
],
"source": [
"handler = Ros2Handler.process(file)\n",
"util = Ros2DataModelUtil(handler)\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"====================ROS 2 DATA MODEL===================\n",
"██ Contexts: ██\n",
" timestamp pid version\n",
"context_handle \n",
"578889920 1652795531158728529 9807 2.3.0\n",
"██ Nodes: ██\n",
" timestamp tid rmw_handle name namespace\n",
"node_handle \n",
"578605264 1652795531205345494 9807 578658512 launch_ros_9807 /\n",
"██ Publishers (rmw): ██\n",
"Empty DataFrame\n",
"Columns: []\n",
"Index: []\n",
"██ Publishers (rcl): ██\n",
" timestamp node_handle rmw_handle topic_name depth\n",
"publisher_handle \n",
"281474154018016 1652795531205338094 578605264 580193376 /rosout 1000\n",
"██ Subscriptions (rmw): ██\n",
"Empty DataFrame\n",
"Columns: []\n",
"Index: []\n",
"██ Subscriptions (rcl): ██\n",
" timestamp node_handle rmw_handle topic_name depth\n",
"subscription_handle \n",
"187651141000448 1652795532311067501 187651140946384 187651141210960 /parameter_events 1000\n",
"██ Subscription objects: ██\n",
" timestamp subscription_handle\n",
"subscription \n",
"187651141131344 1652795532311098621 187651141000448\n",
"██ Services: ██\n",
" timestamp node_handle rmw_handle service_name\n",
"service_handle \n",
"1652795531227060891 1652795531227060891 578605264 578509024 /launch_ros_9807/describe_parameters\n",
"██ Clients: ██\n",
" timestamp node_handle rmw_handle service_name\n",
"client_handle \n",
"281473303560864 1652795531234252437 578605264 580853584 /system/system_monitor/system_monitor/system_m...\n",
"██ Timers: ██\n",
" timestamp period tid\n",
"timer_handle \n",
"281472359468464 1652795531230470704 1000000000 9832\n",
"██ Timer-node links: ██\n",
" timestamp node_handle\n",
"timer_handle \n",
"187650864529200 1652795532337464355 187650863948976\n",
"██ Callback objects: ██\n",
" timestamp callback_object\n",
"reference \n",
"187651141131344 1652795532311101741 187651141131568\n",
"██ Callback symbols: ██\n",
" timestamp symbol\n",
"callback_object \n",
"187651141131568 1652795532311126901 std::_Bind<void (rclcpp::TimeSource::*(rclcpp:...\n",
"██ Callback instances: ██\n",
" callback_object timestamp duration intra_process\n",
"0 187650864342544 2022-05-17 13:52:12.337689915 00:00:00.000010 False\n",
"██ Publish instances (rclcpp): ██\n",
" timestamp message\n",
"0 1652795532321318177 281474880694112\n",
"██ Publish instances (rcl): ██\n",
" publisher_handle timestamp message\n",
"0 580257728 1652795531226289729 580728240\n",
"██ Publish instances (rmw): ██\n",
"Empty DataFrame\n",
"Columns: []\n",
"Index: []\n",
"██ Take instances (rmw): ██\n",
"Empty DataFrame\n",
"Columns: []\n",
"Index: []\n",
"██ Take instances (rcl): ██\n",
"Empty DataFrame\n",
"Columns: []\n",
"Index: []\n",
"██ Take instances (rclcpp): ██\n",
"Empty DataFrame\n",
"Columns: []\n",
"Index: []\n",
"██ Lifecycle state machines: ██\n",
"Empty DataFrame\n",
"Columns: []\n",
"Index: []\n",
"██ Lifecycle transitions: ██\n",
"Empty DataFrame\n",
"Columns: []\n",
"Index: []\n",
"==================================================\n"
]
}
],
"source": [
"n=1\n",
"self = handler.data\n",
"print('====================ROS 2 DATA MODEL===================')\n",
"print('██ Contexts: ██')\n",
"print(self.contexts[:n].to_string())\n",
"print('██ Nodes: ██')\n",
"print(self.nodes[:n].to_string())\n",
"print('██ Publishers (rmw): ██')\n",
"print(self.rmw_publishers[:n].to_string())\n",
"print('██ Publishers (rcl): ██')\n",
"print(self.rcl_publishers[:n].to_string())\n",
"print('██ Subscriptions (rmw): ██')\n",
"print(self.rmw_subscriptions[:n].to_string())\n",
"print('██ Subscriptions (rcl): ██')\n",
"print(self.rcl_subscriptions[:n].to_string())\n",
"print('██ Subscription objects: ██')\n",
"print(self.subscription_objects[:n].to_string())\n",
"print('██ Services: ██')\n",
"print(self.services[:n].to_string())\n",
"print('██ Clients: ██')\n",
"print(self.clients[:n].to_string())\n",
"print('██ Timers: ██')\n",
"print(self.timers[:n].to_string())\n",
"print('██ Timer-node links: ██')\n",
"print(self.timer_node_links[:n].to_string())\n",
"print('██ Callback objects: ██')\n",
"print(self.callback_objects[:n].to_string())\n",
"print('██ Callback symbols: ██')\n",
"print(self.callback_symbols[:n].to_string())\n",
"print('██ Callback instances: ██')\n",
"print(self.callback_instances[:n].to_string())\n",
"print('██ Publish instances (rclcpp): ██')\n",
"print(self.rclcpp_publish_instances[:n].to_string())\n",
"print('██ Publish instances (rcl): ██')\n",
"print(self.rcl_publish_instances[:n].to_string())\n",
"print('██ Publish instances (rmw): ██')\n",
"print(self.rmw_publish_instances[:n].to_string())\n",
"print('██ Take instances (rmw): ██')\n",
"print(self.rmw_take_instances[:n].to_string())\n",
"print('██ Take instances (rcl): ██')\n",
"print(self.rcl_take_instances[:n].to_string())\n",
"print('██ Take instances (rclcpp): ██')\n",
"print(self.rclcpp_take_instances[:n].to_string())\n",
"print('██ Lifecycle state machines: ██')\n",
"print(self.lifecycle_state_machines[:n].to_string())\n",
"print('██ Lifecycle transitions: ██')\n",
"print(self.lifecycle_transitions[:n].to_string())\n",
"print('==================================================')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data Structures"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [],
"source": [
"from dataclasses import dataclass\n",
"from typing import List, Dict\n",
"\n",
"def str_to_cls(classname):\n",
" return getattr(sys.modules[__name__], classname)\n",
"\n",
"def row_to_type(row, type, has_idx):\n",
" return type(id=row.name, **row) if has_idx else type(**row)\n",
"\n",
"def df_to_type_list(df, type):\n",
" if isinstance(type, str):\n",
" type = str_to_cls(type)\n",
" \n",
" has_idx = not isinstance(df.index, pd.RangeIndex)\n",
" return [row_to_type(row, type, has_idx) for _, row in df.iterrows()]\n",
"\n",
"def by_index(df, index, type):\n",
" return df_to_type_list(df.loc[index], type)\n",
"\n",
"def by_column(df, column_name, column_val, type):\n",
" return df_to_type_list(df[df[column_name] == column_val], type)\n",
"\n",
"def list_to_dict(ls, key='id'):\n",
" return {getattr(item, key): item for item in ls}\n",
"\n",
"#################################\n",
"# Predefined (from ROS2DataModel)\n",
"#################################\n",
"\n",
"@dataclass\n",
"class Node:\n",
" id: int\n",
" timestamp: int\n",
" tid: int\n",
" rmw_handle: int\n",
" name: str\n",
" namespace: str\n",
"\n",
" @property\n",
" def path(self) -> str:\n",
" return os.path.join(self.namespace, self.name)\n",
"\n",
" @property\n",
" def publishers(self) -> List['Publisher']:\n",
" return list(filter(lambda pub: pub.node_handle == self.id, publishers.values()))\n",
"\n",
" @property\n",
" def subscriptions(self) -> List['Subscription']:\n",
" return list(filter(lambda sub: sub.node_handle == self.id, subscriptions.values()))\n",
" \n",
" @property\n",
" def timers(self) -> List['Timer']:\n",
" links = [link.id for link in timer_node_links.values() if link.node_handle == self.id]\n",
" return list(filter(lambda timer: timer.id in links, timers.values()))\n",
"\n",
"@dataclass\n",
"class Publisher:\n",
" id: int\n",
" timestamp: int\n",
" node_handle: int\n",
" rmw_handle: int\n",
" topic_name: str\n",
" depth: int\n",
"\n",
" @property\n",
" def node(self) -> 'Node':\n",
" return nodes[self.node_handle]\n",
"\n",
" @property\n",
" def subscriptions(self) -> List['Subscription']:\n",
" return list(filter(lambda sub: sub.topic_name == self.topic_name, subscriptions.values()))\n",
"\n",
" @property\n",
" def instances(self) -> List['PublishInstance']:\n",
" return list(filter(lambda inst: inst.publisher_handle == self.id, publish_instances))\n",
" \n",
" @property\n",
" def topic(self) -> 'Topic':\n",
" return topics[self.topic_name]\n",
"\n",
"\n",
"@dataclass\n",
"class Subscription:\n",
" id: int\n",
" timestamp: int\n",
" node_handle: int\n",
" rmw_handle: int\n",
" topic_name: str\n",
" depth: int\n",
"\n",
" @property\n",
" def node(self) -> 'Node':\n",
" return nodes[self.node_handle]\n",
"\n",
" @property\n",
" def publishers(self) -> List['Publisher']:\n",
" return list(filter(lambda pub: pub.topic_name == self.topic_name, publishers.values()))\n",
" \n",
" @property\n",
" def subscription_object(self) -> 'SubscriptionObject':\n",
" sub_objs = list(filter(lambda sub_obj: sub_obj.subscription_handle == self.id, subscription_objects.values()))\n",
" assert len(sub_objs) <= 1\n",
" return sub_objs[0] if sub_objs else None\n",
"\n",
" @property\n",
" def topic(self) -> 'Topic':\n",
" return topics[self.topic_name]\n",
" \n",
"@dataclass\n",
"class Timer:\n",
" id: int\n",
" timestamp: int\n",
" period: int\n",
" tid: int\n",
"\n",
" @property\n",
" def nodes(self) -> List['Node']:\n",
" links = [link.node_handle for link in timer_node_links.values() if link.id == self.id]\n",
" return list(filter(lambda node: node.id in links, nodes.values()))\n",
" \n",
" @property\n",
" def callback_object(self) -> 'CallbackObject':\n",
" return callback_objects[self.id]\n",
" \n",
" @property\n",
" def info(self):\n",
" return util.get_timer_handle_info(self.id)\n",
"\n",
"@dataclass\n",
"class TimerNodeLink:\n",
" id: int\n",
" timestamp: int\n",
" node_handle: int\n",
"\n",
"@dataclass\n",
"class SubscriptionObject:\n",
" id: int # subscription\n",
" timestamp: int\n",
" subscription_handle: int\n",
"\n",
" @property\n",
" def subscription(self) -> 'Subscription':\n",
" return subscriptions[self.subscription_handle]\n",
"\n",
" @property\n",
" def callback_object(self) -> 'CallbackObject':\n",
" return callback_objects[self.id]\n",
"\n",
" @property\n",
" def info(self):\n",
" return util.get_subscription_reference_info(self.id)\n",
"\n",
"@dataclass\n",
"class CallbackObject:\n",
" id: int # (reference) = subscription_object.id | timer.id | ....\n",
" timestamp: int\n",
" callback_object: int\n",
"\n",
" @property\n",
" def callback_instances(self) -> List['CallbackInstance']:\n",
" return list(filter(lambda inst: inst.callback_object == self.callback_object, callback_instances))\n",
"\n",
" @property\n",
" def owner(self):\n",
" if self.id in timers:\n",
" return timers[self.id]\n",
" if self.id in publishers:\n",
" return publishers[self.id]\n",
" if self.id in subscription_objects:\n",
" return subscription_objects[self.id]\n",
" if self.id in handler.data.services.index:\n",
" return 'Service'\n",
" if self.id in handler.data.clients.index:\n",
" return 'Client'\n",
" return None\n",
"\n",
" @property\n",
" def owner_info(self):\n",
" info = util.get_callback_owner_info(self.callback_object)\n",
" if info is None:\n",
" return None, None\n",
" \n",
" type_name, dict_str = info.split(\" -- \")\n",
" kv_strs = dict_str.split(\", \")\n",
" info_dict = {k: v for k, v in map(lambda kv_str: kv_str.split(\": \", maxsplit=1), kv_strs)}\n",
" return type_name, info_dict\n",
"\n",
"@dataclass\n",
"class PublishInstance:\n",
" publisher_handle: int\n",
" timestamp: int\n",
" message: int\n",
"\n",
" @property\n",
" def publisher(self) -> 'Publisher':\n",
" return publishers[self.publisher_handle]\n",
"\n",
"@dataclass\n",
"class CallbackInstance:\n",
" callback_object: int\n",
" timestamp: int\n",
" duration: int\n",
" intra_process: bool\n",
"\n",
" @property\n",
" def callback_obj(self) -> 'CallbackObject':\n",
" return callback_objects[self.callback_object]\n",
"\n",
"@dataclass\n",
"class CallbackSymbol:\n",
" id: int # callback_object\n",
" timestamp: int\n",
" symbol: str\n",
"\n",
" @property\n",
" def callback_obj(self) -> 'CallbackObject':\n",
" cb_objs = list(filter(lambda cb_obj: cb_obj.callback_object == self.id, callback_objects.values()))\n",
" assert len(cb_objs) <= 1\n",
" return cb_objs[0] if cb_objs else None\n",
"\n",
"\n",
"#######################################\n",
"# Self-defined (not from ROS2DataModel)\n",
"#######################################\n",
"\n",
"@dataclass\n",
"class Topic:\n",
" name: str\n",
"\n",
" @property\n",
" def publishers(self) -> List['Publisher']:\n",
" return list(filter(lambda pub: pub.topic_name == self.name, publishers.values()))\n",
" \n",
" @property\n",
" def subscriptions(self) -> List['Subscription']:\n",
" return list(filter(lambda sub: sub.topic_name == self.name, subscriptions.values()))\n"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Processed 61 nodes\n",
"Processed 264 publishers\n",
"Processed 212 subscriptions\n",
"Processed 67 timers\n",
"Processed 31 timer-node links\n",
"Processed 201 subscription objects\n",
"Processed 483 callback objects\n",
"Processed 483 callback symbols\n",
"Processed 183512 publish instances\n",
"Processed 390810 callback instances\n",
"Processed 161 topics\n"
]
}
],
"source": [
"\n",
"#######################################\n",
"# Instantiate collections\n",
"#######################################\n",
"\n",
"nodes: Dict[int, 'Node'] = list_to_dict(df_to_type_list(handler.data.nodes, 'Node')); print(f\"Processed {len(nodes):<8d} nodes\")\n",
"publishers: Dict[int, 'Publisher'] = list_to_dict(df_to_type_list(handler.data.rcl_publishers, 'Publisher')); print(f\"Processed {len(publishers):<8d} publishers\")\n",
"subscriptions: Dict[int, 'Subscription'] = list_to_dict(df_to_type_list(handler.data.rcl_subscriptions, 'Subscription')); print(f\"Processed {len(subscriptions):<8d} subscriptions\")\n",
"timers: Dict[int, 'Timer'] = list_to_dict(df_to_type_list(handler.data.timers, 'Timer')); print(f\"Processed {len(timers):<8d} timers\")\n",
"timer_node_links: Dict[int, 'TimerNodeLink'] = list_to_dict(df_to_type_list(handler.data.timer_node_links, 'TimerNodeLink')); print(f\"Processed {len(timer_node_links):<8d} timer-node links\")\n",
"subscription_objects: Dict[int, 'SubscriptionObject'] = list_to_dict(df_to_type_list(handler.data.subscription_objects, 'SubscriptionObject')); print(f\"Processed {len(subscription_objects):<8d} subscription objects\")\n",
"callback_objects: Dict[int, 'CallbackObject'] = list_to_dict(df_to_type_list(handler.data.callback_objects, 'CallbackObject')); print(f\"Processed {len(callback_objects):<8d} callback objects\")\n",
"callback_symbols: Dict[int, 'CallbackSymbol'] = list_to_dict(df_to_type_list(handler.data.callback_symbols, 'CallbackSymbol')); print(f\"Processed {len(callback_symbols):<8d} callback symbols\")\n",
"publish_instances: List['PublishInstance'] = df_to_type_list(handler.data.rcl_publish_instances, 'PublishInstance'); print(f\"Processed {len(publish_instances):<8d} publish instances\")\n",
"callback_instances: List['CallbackInstance'] = df_to_type_list(handler.data.callback_instances, 'CallbackInstance'); print(f\"Processed {len(callback_instances):<8d} callback instances\")\n",
"\n",
"_unique_topic_names = {*(pub.topic_name for pub in publishers.values()), *(sub.topic_name for sub in subscriptions.values())}\n",
"topics: Dict[str, 'Topic'] = list_to_dict(map(Topic, _unique_topic_names), key=\"name\"); print(f\"Processed {len(topics):<8d} topics\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Callback-Sub & Callback-Timer Links"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i=1026 Subscription n=system_monitor_container t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i=1042 Subscription n=robot_state_publisher t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i=1070 Subscription n=system_error_monitor t=/parameter_events \n",
"void (AutowareErrorMonitor::?)(diagnostic_msgs::msg::DiagnosticArrayconst*) : i=1780 Subscription n=system_error_monitor t=/diagnostics_agg \n",
"void (AutowareErrorMonitor::?)(tier4_control_msgs::msg::GateModeconst*) : i=1626 Subscription n=system_error_monitor t=/control/current_gate_mode \n",
"void (AutowareErrorMonitor::?)(autoware_auto_system_msgs::msg::AutowareStateconst*) : i=1772 Subscription n=system_error_monitor t=/autoware/state \n",
"void (AutowareErrorMonitor::?)(autoware_auto_vehicle_msgs::msg::ControlModeReportconst*) : i=6466 Subscription n=system_error_monitor t=/vehicle/status/control_mode \n",
"void (robot_state_publisher::RobotStatePublisher::?)(sensor_msgs::msg::JointState*) : i= 0 Subscription n=robot_state_publisher t=/joint_states \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 950 Subscription n=aggregator_node t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i=1035 Subscription n=emergency_handler t=/parameter_events \n",
"void (EmergencyHandler::?)(autoware_auto_system_msgs::msg::HazardStatusStampedconst*) : i=1626 Subscription n=emergency_handler t=/system/emergency/hazard_status\n",
"void (EmergencyHandler::?)(autoware_auto_control_msgs::msg::AckermannControlCommandconst*) : i=10468 Subscription n=emergency_handler t=/control/command/control_cmd \n",
"void (EmergencyHandler::?)(nav_msgs::msg::Odometryconst*) : i=6466 Subscription n=emergency_handler t=/localization/kinematic_state \n",
"void (EmergencyHandler::?)(autoware_auto_vehicle_msgs::msg::ControlModeReportconst*) : i=6466 Subscription n=emergency_handler t=/vehicle/status/control_mode \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i=1026 Subscription n=map_container t=/parameter_events \n",
"void (HeaderlessHeartbeatChecker<autoware_auto_system_msgs::msg::HazardStatusStamped>::?)(autowar...: i=1626 Subscription n=emergency_handler t=/system/emergency/hazard_status\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i=1030 Subscription n=ad_service_state_monitor t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i=1026 Subscription n=transform_listener_impl_aaaab90b38b0 t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6466 Subscription n=transform_listener_impl_aaaab90b38b0 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_aaaab90b38b0 t=/tf_static \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 940 Subscription n=mission_planning_container t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 907 Subscription n=scenario_selector t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 903 Subscription n=transform_listener_impl_aaaad6cbbcb8 t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 907 Subscription n=external_velocity_limit_selector t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6466 Subscription n=transform_listener_impl_aaaad6cbbcb8 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_aaaad6cbbcb8 t=/tf_static \n",
"void (AutowareStateMonitorNode::?)(autoware_auto_vehicle_msgs::msg::Engageconst*) : i=1626 Subscription n=ad_service_state_monitor t=/api/autoware/get/engage \n",
"void (AutowareStateMonitorNode::?)(autoware_auto_vehicle_msgs::msg::ControlModeReportconst*) : i=6466 Subscription n=ad_service_state_monitor t=/vehicle/status/control_mode \n",
"void (AutowareStateMonitorNode::?)(autoware_auto_planning_msgs::msg::HADMapRouteconst*) : i= 1 Subscription n=ad_service_state_monitor t=/planning/mission_planning/route\n",
"void (AutowareStateMonitorNode::?)(nav_msgs::msg::Odometryconst*) : i=6466 Subscription n=ad_service_state_monitor t=/localization/kinematic_state \n",
"void (ScenarioSelectorNode::?)(autoware_auto_planning_msgs::msg::Trajectoryconst*) : i= 978 Subscription n=scenario_selector t=/planning/scenario_planning/lane_driving/trajectory\n",
"void (ScenarioSelectorNode::?)(autoware_auto_planning_msgs::msg::Trajectoryconst*) : i= 101 Subscription n=scenario_selector t=/planning/scenario_planning/parking/trajectory\n",
"void (ScenarioSelectorNode::?)(autoware_auto_mapping_msgs::msg::HADMapBinconst*) : i= 1 Subscription n=scenario_selector t=/map/vector_map \n",
"void (ScenarioSelectorNode::?)(autoware_auto_planning_msgs::msg::HADMapRouteconst*) : i= 1 Subscription n=scenario_selector t=/planning/mission_planning/route\n",
"void (ScenarioSelectorNode::?)(nav_msgs::msg::Odometryconst*) : i=6466 Subscription n=scenario_selector t=/localization/kinematic_state \n",
"void (ExternalVelocityLimitSelectorNode::?)(tier4_planning_msgs::msg::VelocityLimitconst*) : i= 0 Subscription n=external_velocity_limit_selector t=/planning/scenario_planning/max_velocity_default\n",
"void (ExternalVelocityLimitSelectorNode::?)(tier4_planning_msgs::msg::VelocityLimitconst*) : i= 0 Subscription n=external_velocity_limit_selector t=/planning/scenario_planning/max_velocity_candidates\n",
"void (ExternalVelocityLimitSelectorNode::?)(tier4_planning_msgs::msg::VelocityLimitClearCommandco...: i= 0 Subscription n=external_velocity_limit_selector t=/planning/scenario_planning/clear_velocity_limit\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 934 Subscription n=motion_velocity_smoother t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 930 Subscription n=transform_listener_impl_aaaaf1071f80 t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 887 Subscription n=behavior_planning_container t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 887 Subscription n=motion_planning_container t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6466 Subscription n=transform_listener_impl_aaaaf1071f80 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_aaaaf1071f80 t=/tf_static \n",
"void (motion_velocity_smoother::MotionVelocitySmootherNode::?)(autoware_auto_planning_msgs::msg::...: i=1079 Subscription n=motion_velocity_smoother t=/planning/scenario_planning/scenario_selector/trajectory\n",
"void (motion_velocity_smoother::MotionVelocitySmootherNode::?)(nav_msgs::msg::Odometryconst*) : i=6267 Subscription n=motion_velocity_smoother t=/localization/kinematic_state \n",
"void (motion_velocity_smoother::MotionVelocitySmootherNode::?)(tier4_planning_msgs::msg::Velocity...: i= 0 Subscription n=motion_velocity_smoother t=/planning/scenario_planning/max_velocity\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 887 Subscription n=parking_container t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 888 Subscription n=control_container t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 896 Subscription n=planning_error_monitor t=/parameter_events \n",
"void (planning_diagnostics::PlanningErrorMonitorNode::?)(autoware_auto_planning_msgs::msg::Trajec...: i=1078 Subscription n=planning_error_monitor t=/planning/scenario_planning/trajectory\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 562 Subscription n=cpu_monitor t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 874 Subscription n=hdd_monitor t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 873 Subscription n=obstacle_avoidance_planner t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 875 Subscription n=lateral_controller_node_exe t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 863 Subscription n=transform_listener_impl_aaaaf51e51c0 t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 862 Subscription n=transform_listener_impl_aaaaf153e160 t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6465 Subscription n=transform_listener_impl_aaaaf51e51c0 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6466 Subscription n=transform_listener_impl_aaaaf153e160 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_aaaaf51e51c0 t=/tf_static \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_aaaaf153e160 t=/tf_static \n",
"void (ObstacleAvoidancePlanner::?)(autoware_auto_planning_msgs::msg::Path*) : i= 978 Subscription n=obstacle_avoidance_planner t=/planning/scenario_planning/lane_driving/behavior_planning/path\n",
"void (ObstacleAvoidancePlanner::?)(nav_msgs::msg::Odometry*) : i=6141 Subscription n=obstacle_avoidance_planner t=/localization/kinematic_state \n",
"void (ObstacleAvoidancePlanner::?)(autoware_auto_perception_msgs::msg::PredictedObjects*) : i=1582 Subscription n=obstacle_avoidance_planner t=/perception/object_recognition/objects\n",
"void (autoware::motion::control::trajectory_follower_nodes::LateralController::?)(autoware_auto_p...: i=1078 Subscription n=lateral_controller_node_exe t=/planning/scenario_planning/trajectory\n",
"void (ObstacleAvoidancePlanner::?)(tier4_planning_msgs::msg::EnableAvoidance*) : i= 0 Subscription n=obstacle_avoidance_planner t=/planning/scenario_planning/lane_driving/obstacle_avoidance_approval\n",
"void (autoware::motion::control::trajectory_follower_nodes::LateralController::?)(autoware_auto_v...: i=6285 Subscription n=lateral_controller_node_exe t=/vehicle/status/steering_status\n",
"void (autoware::motion::control::trajectory_follower_nodes::LateralController::?)(nav_msgs::msg::...: i=6285 Subscription n=lateral_controller_node_exe t=/localization/kinematic_state \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 710 Subscription n=mem_monitor t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 703 Subscription n=lanelet2_map_loader t=/parameter_events \n",
"void (diagnostic_aggregator::Aggregator::?)(diagnostic_msgs::msg::DiagnosticArray*) : i=10587 Subscription n=aggregator_node t=/diagnostics \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 695 Subscription n=net_monitor t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 683 Subscription n=lanelet2_map_visualization t=/parameter_events \n",
"void (Lanelet2MapVisualizationNode::?)(autoware_auto_mapping_msgs::msg::HADMapBinconst*) : i= 1 Subscription n=lanelet2_map_visualization t=/map/vector_map \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 677 Subscription n=ntp_monitor t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 669 Subscription n=mission_planner t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 665 Subscription n=transform_listener_impl_aaab0bafc440 t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6466 Subscription n=transform_listener_impl_aaab0bafc440 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_aaab0bafc440 t=/tf_static \n",
"void (mission_planner::MissionPlanner::?)(geometry_msgs::msg::PoseStampedconst*) : i= 1 Subscription n=mission_planner t=/planning/mission_planning/goal\n",
"void (mission_planner::MissionPlanner::?)(geometry_msgs::msg::PoseStampedconst*) : i= 0 Subscription n=mission_planner t=/planning/mission_planning/checkpoint\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 661 Subscription n=process_monitor t=/parameter_events \n",
"void (mission_planner::MissionPlannerLanelet2::?)(autoware_auto_mapping_msgs::msg::HADMapBinconst*) : i= 1 Subscription n=mission_planner t=/map/vector_map \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 655 Subscription n=longitudinal_controller_node_exe t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 651 Subscription n=transform_listener_impl_aaaaf52d4c30 t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6465 Subscription n=transform_listener_impl_aaaaf52d4c30 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_aaaaf52d4c30 t=/tf_static \n",
"void (autoware::motion::control::trajectory_follower_nodes::LongitudinalController::?)(nav_msgs::...: i=6285 Subscription n=longitudinal_controller_node_exe t=/localization/kinematic_state \n",
"void (autoware::motion::control::trajectory_follower_nodes::LongitudinalController::?)(autoware_a...: i=1078 Subscription n=longitudinal_controller_node_exe t=/planning/scenario_planning/trajectory\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 603 Subscription n=gpu_monitor t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 581 Subscription n=goal_pose_visualizer t=/parameter_events \n",
"void (mission_planner::GoalPoseVisualizer::?)(autoware_auto_planning_msgs::msg::HADMapRouteconst*) : i= 1 Subscription n=goal_pose_visualizer t=/planning/mission_planning/route\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 569 Subscription n=pointcloud_map_loader t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 569 Subscription n=external_cmd_selector t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 553 Subscription n=behavior_path_planner t=/parameter_events \n",
"void (ExternalCmdSelector::?)(tier4_external_api_msgs::msg::ControlCommandStampedconst*) : i= 0 Subscription n=external_cmd_selector t=/api/external/set/command/local/control\n",
"void (ExternalCmdSelector::?)(tier4_external_api_msgs::msg::GearShiftStampedconst*) : i= 0 Subscription n=external_cmd_selector t=/api/external/set/command/local/shift\n",
"void (ExternalCmdSelector::?)(tier4_external_api_msgs::msg::TurnSignalStampedconst*) : i= 0 Subscription n=external_cmd_selector t=/api/external/set/command/local/turn_signal\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 551 Subscription n=transform_listener_impl_ffff200c66b0 t=/parameter_events \n",
"void (ExternalCmdSelector::?)(tier4_external_api_msgs::msg::Heartbeatconst*) : i= 0 Subscription n=external_cmd_selector t=/api/external/set/command/local/heartbeat\n",
"void (ExternalCmdSelector::?)(tier4_external_api_msgs::msg::ControlCommandStampedconst*) : i= 0 Subscription n=external_cmd_selector t=/api/external/set/command/remote/control\n",
"void (ExternalCmdSelector::?)(tier4_external_api_msgs::msg::GearShiftStampedconst*) : i= 0 Subscription n=external_cmd_selector t=/api/external/set/command/remote/shift\n",
"void (ExternalCmdSelector::?)(tier4_external_api_msgs::msg::TurnSignalStampedconst*) : i= 0 Subscription n=external_cmd_selector t=/api/external/set/command/remote/turn_signal\n",
"void (ExternalCmdSelector::?)(tier4_external_api_msgs::msg::Heartbeatconst*) : i= 0 Subscription n=external_cmd_selector t=/api/external/set/command/remote/heartbeat\n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6466 Subscription n=transform_listener_impl_ffff200c66b0 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_ffff200c66b0 t=/tf_static \n",
"void (behavior_path_planner::BehaviorPathPlannerNode::?)(nav_msgs::msg::Odometryconst*) : i=4320 Subscription n=behavior_path_planner t=/localization/kinematic_state \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 518 Subscription n=external_cmd_converter t=/parameter_events \n",
"void (behavior_path_planner::BehaviorPathPlannerNode::?)(autoware_auto_perception_msgs::msg::Pred...: i=1049 Subscription n=behavior_path_planner t=/perception/object_recognition/objects\n",
"behavior_path_planner::BehaviorPathPlannerNode::BehaviorPathPlannerNode(rclcpp::NodeOptionsconst&...: i=1577 Subscription n=behavior_path_planner t=/planning/scenario_planning/scenario\n",
"void (behavior_path_planner::BehaviorPathPlannerNode::?)(tier4_planning_msgs::msg::Approvalconst*) : i=1171 Subscription n=behavior_path_planner t=/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/path_change_approval\n",
"void (behavior_path_planner::BehaviorPathPlannerNode::?)(tier4_planning_msgs::msg::PathChangeModu...: i= 0 Subscription n=behavior_path_planner t=/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/path_change_force\n",
"void (behavior_path_planner::BehaviorPathPlannerNode::?)(autoware_auto_mapping_msgs::msg::HADMapB...: i= 1 Subscription n=behavior_path_planner t=/map/vector_map \n",
"void (behavior_path_planner::BehaviorPathPlannerNode::?)(autoware_auto_planning_msgs::msg::HADMap...: i= 1 Subscription n=behavior_path_planner t=/planning/mission_planning/route\n",
"void (external_cmd_converter::ExternalCmdConverterNode::?)(nav_msgs::msg::Odometryconst*) : i=6285 Subscription n=external_cmd_converter t=/localization/kinematic_state \n",
"void (external_cmd_converter::ExternalCmdConverterNode::?)(tier4_external_api_msgs::msg::ControlC...: i= 0 Subscription n=external_cmd_converter t=/external/selected/external_control_cmd\n",
"void (behavior_path_planner::SideShiftModule::?)(tier4_planning_msgs::msg::LateralOffsetconst*) : i= 0 Subscription n=behavior_path_planner t=/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/input/lateral_offset\n",
"void (external_cmd_converter::ExternalCmdConverterNode::?)(autoware_auto_vehicle_msgs::msg::GearC...: i= 0 Subscription n=external_cmd_converter t=/external/selected/gear_cmd \n",
"void (external_cmd_converter::ExternalCmdConverterNode::?)(tier4_control_msgs::msg::GateModeconst*) : i=1626 Subscription n=external_cmd_converter t=/control/current_gate_mode \n",
"void (external_cmd_converter::ExternalCmdConverterNode::?)(tier4_external_api_msgs::msg::Heartbea...: i= 0 Subscription n=external_cmd_converter t=/external/selected/heartbeat \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 469 Subscription n=costmap_generator t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 454 Subscription n=transform_listener_impl_aaaaf521b848 t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6466 Subscription n=transform_listener_impl_aaaaf521b848 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_aaaaf521b848 t=/tf_static \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 364 Subscription n=latlon_muxer_node_exe t=/parameter_events \n",
"void (autoware::motion::control::trajectory_follower_nodes::LatLonMuxer::?)(autoware_auto_control...: i=5235 Subscription n=latlon_muxer_node_exe t=/control/trajectory_follower/lateral/control_cmd\n",
"void (autoware::motion::control::trajectory_follower_nodes::LatLonMuxer::?)(autoware_auto_control...: i=5235 Subscription n=latlon_muxer_node_exe t=/control/trajectory_follower/longitudinal/control_cmd\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 358 Subscription n=lane_departure_checker_node t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 354 Subscription n=transform_listener_impl_aaaaf55ae730 t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6465 Subscription n=transform_listener_impl_aaaaf55ae730 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_aaaaf55ae730 t=/tf_static \n",
"void (lane_departure_checker::LaneDepartureCheckerNode::?)(nav_msgs::msg::Odometryconst*) : i=6286 Subscription n=lane_departure_checker_node t=/localization/kinematic_state \n",
"void (lane_departure_checker::LaneDepartureCheckerNode::?)(autoware_auto_mapping_msgs::msg::HADMa...: i= 1 Subscription n=lane_departure_checker_node t=/map/vector_map \n",
"void (lane_departure_checker::LaneDepartureCheckerNode::?)(autoware_auto_planning_msgs::msg::HADM...: i= 1 Subscription n=lane_departure_checker_node t=/planning/mission_planning/route\n",
"void (lane_departure_checker::LaneDepartureCheckerNode::?)(autoware_auto_planning_msgs::msg::Traj...: i=1078 Subscription n=lane_departure_checker_node t=/planning/scenario_planning/trajectory\n",
"void (lane_departure_checker::LaneDepartureCheckerNode::?)(autoware_auto_planning_msgs::msg::Traj...: i=5235 Subscription n=lane_departure_checker_node t=/control/trajectory_follower/lateral/predicted_trajectory\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 333 Subscription n=map_tf_generator t=/parameter_events \n",
"void (MapTFGeneratorNode::?)(sensor_msgs::msg::PointCloud2const*) : i= 1 Subscription n=map_tf_generator t=/map/pointcloud_map \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 322 Subscription n=surround_obstacle_checker t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 318 Subscription n=transform_listener_impl_ffff5c00c708 t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6298 Subscription n=transform_listener_impl_ffff5c00c708 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_ffff5c00c708 t=/tf_static \n",
"void (surround_obstacle_checker::SurroundObstacleCheckerNode::?)(sensor_msgs::msg::PointCloud2con...: i=1574 Subscription n=surround_obstacle_checker t=/perception/obstacle_segmentation/pointcloud\n",
"void (surround_obstacle_checker::SurroundObstacleCheckerNode::?)(autoware_auto_perception_msgs::m...: i=1572 Subscription n=surround_obstacle_checker t=/perception/object_recognition/objects\n",
"void (surround_obstacle_checker::SurroundObstacleCheckerNode::?)(nav_msgs::msg::Odometryconst*) : i=6298 Subscription n=surround_obstacle_checker t=/localization/kinematic_state \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 300 Subscription n=obstacle_stop_planner t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 296 Subscription n=transform_listener_impl_ffff3400eba0 t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6294 Subscription n=transform_listener_impl_ffff3400eba0 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_ffff3400eba0 t=/tf_static \n",
"void (motion_planning::ObstacleStopPlannerNode::?)(sensor_msgs::msg::PointCloud2const*) : i=1573 Subscription n=obstacle_stop_planner t=/perception/obstacle_segmentation/pointcloud\n",
"void (motion_planning::ObstacleStopPlannerNode::?)(autoware_auto_planning_msgs::msg::Trajectoryco...: i= 978 Subscription n=obstacle_stop_planner t=/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/trajectory\n",
"void (motion_planning::ObstacleStopPlannerNode::?)(nav_msgs::msg::Odometryconst*) : i=6293 Subscription n=obstacle_stop_planner t=/localization/kinematic_state \n",
"void (motion_planning::ObstacleStopPlannerNode::?)(autoware_auto_perception_msgs::msg::PredictedO...: i=1571 Subscription n=obstacle_stop_planner t=/perception/object_recognition/objects\n",
"void (motion_planning::ObstacleStopPlannerNode::?)(tier4_planning_msgs::msg::ExpandStopRangeconst*) : i= 0 Subscription n=obstacle_stop_planner t=/planning/scenario_planning/lane_driving/motion_planning/obstacle_stop_planner/input/expand_stop_range\n",
"void (CostmapGenerator::?)(autoware_auto_perception_msgs::msg::PredictedObjectsconst*) : i=1228 Subscription n=costmap_generator t=/perception/object_recognition/objects\n",
"void (CostmapGenerator::?)(sensor_msgs::msg::PointCloud2const*) : i=1287 Subscription n=costmap_generator t=/perception/obstacle_segmentation/pointcloud\n",
"void (CostmapGenerator::?)(autoware_auto_mapping_msgs::msg::HADMapBinconst*) : i= 1 Subscription n=costmap_generator t=/map/vector_map \n",
"void (CostmapGenerator::?)(tier4_planning_msgs::msg::Scenarioconst*) : i=1232 Subscription n=costmap_generator t=/planning/scenario_planning/scenario\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 227 Subscription n=freespace_planner t=/parameter_events \n",
"void (freespace_planner::FreespacePlannerNode::?)(autoware_auto_planning_msgs::msg::HADMapRouteco...: i= 1 Subscription n=freespace_planner t=/planning/mission_planning/route\n",
"void (freespace_planner::FreespacePlannerNode::?)(nav_msgs::msg::OccupancyGridconst*) : i= 247 Subscription n=freespace_planner t=/planning/scenario_planning/parking/costmap_generator/occupancy_grid\n",
"void (freespace_planner::FreespacePlannerNode::?)(tier4_planning_msgs::msg::Scenarioconst*) : i=1232 Subscription n=freespace_planner t=/planning/scenario_planning/scenario\n",
"void (freespace_planner::FreespacePlannerNode::?)(nav_msgs::msg::Odometryconst*) : i=4919 Subscription n=freespace_planner t=/localization/kinematic_state \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 189 Subscription n=transform_listener_impl_aaaaf5695dc0 t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6288 Subscription n=transform_listener_impl_aaaaf5695dc0 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_aaaaf5695dc0 t=/tf_static \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 188 Subscription n=shift_decider t=/parameter_events \n",
"void (ShiftDecider::?)(autoware_auto_control_msgs::msg::AckermannControlCommand*) : i=10468 Subscription n=shift_decider t=/control/trajectory_follower/control_cmd\n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 183 Subscription n=vehicle_cmd_gate t=/parameter_events \n",
"void (VehicleCmdGate::?)(autoware_auto_system_msgs::msg::EmergencyStateconst*) : i=1625 Subscription n=vehicle_cmd_gate t=/system/emergency/emergency_state\n",
"void (VehicleCmdGate::?)(tier4_external_api_msgs::msg::Heartbeatconst*) : i= 0 Subscription n=vehicle_cmd_gate t=/external/selected/heartbeat \n",
"void (VehicleCmdGate::?)(tier4_control_msgs::msg::GateModeconst*) : i= 0 Subscription n=vehicle_cmd_gate t=/control/gate_mode_cmd \n",
"void (VehicleCmdGate::?)(autoware_auto_vehicle_msgs::msg::Engageconst*) : i= 2 Subscription n=vehicle_cmd_gate t=/autoware/engage \n",
"void (VehicleCmdGate::?)(autoware_auto_vehicle_msgs::msg::SteeringReportconst*) : i=6282 Subscription n=vehicle_cmd_gate t=/vehicle/status/steering_status\n",
"void (VehicleCmdGate::?)(autoware_auto_control_msgs::msg::AckermannControlCommandconst*) : i=10468 Subscription n=vehicle_cmd_gate t=/control/trajectory_follower/control_cmd\n",
"void (VehicleCmdGate::?)(autoware_auto_vehicle_msgs::msg::TurnIndicatorsCommandconst*) : i= 983 Subscription n=vehicle_cmd_gate t=/planning/turn_indicators_cmd \n",
"void (VehicleCmdGate::?)(autoware_auto_vehicle_msgs::msg::HazardLightsCommandconst*) : i= 983 Subscription n=vehicle_cmd_gate t=/planning/hazard_lights_cmd \n",
"void (VehicleCmdGate::?)(autoware_auto_vehicle_msgs::msg::GearCommandconst*) : i=1571 Subscription n=vehicle_cmd_gate t=/control/shift_decider/gear_cmd\n",
"void (VehicleCmdGate::?)(autoware_auto_control_msgs::msg::AckermannControlCommandconst*) : i= 0 Subscription n=vehicle_cmd_gate t=/external/selected/control_cmd\n",
"void (VehicleCmdGate::?)(autoware_auto_vehicle_msgs::msg::TurnIndicatorsCommandconst*) : i= 0 Subscription n=vehicle_cmd_gate t=/external/selected/turn_indicators_cmd\n",
"void (VehicleCmdGate::?)(autoware_auto_vehicle_msgs::msg::HazardLightsCommandconst*) : i= 0 Subscription n=vehicle_cmd_gate t=/external/selected/hazard_lights_cmd\n",
"void (VehicleCmdGate::?)(autoware_auto_vehicle_msgs::msg::GearCommandconst*) : i= 0 Subscription n=vehicle_cmd_gate t=/external/selected/gear_cmd \n",
"void (VehicleCmdGate::?)(autoware_auto_control_msgs::msg::AckermannControlCommandconst*) : i=1625 Subscription n=vehicle_cmd_gate t=/system/emergency/control_cmd \n",
"void (VehicleCmdGate::?)(autoware_auto_vehicle_msgs::msg::HazardLightsCommandconst*) : i=1625 Subscription n=vehicle_cmd_gate t=/system/emergency/hazard_lights_cmd\n",
"void (VehicleCmdGate::?)(autoware_auto_vehicle_msgs::msg::GearCommandconst*) : i= 0 Subscription n=vehicle_cmd_gate t=/system/emergency/gear_cmd \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 151 Subscription n=behavior_velocity_planner t=/parameter_events \n",
"void (rclcpp::TimeSource::?)(rcl_interfaces::msg::ParameterEventconst*) : i= 147 Subscription n=transform_listener_impl_ffff24598628 t=/parameter_events \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i=6070 Subscription n=transform_listener_impl_ffff24598628 t=/tf \n",
"void (tf2_ros::TransformListener::?)(tf2_msgs::msg::TFMessage*,bool) : i= 3 Subscription n=transform_listener_impl_ffff24598628 t=/tf_static \n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(autoware_auto_planning_msgs::msg...: i= 981 Subscription n=behavior_velocity_planner t=/planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id\n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(autoware_auto_perception_msgs::m...: i=1515 Subscription n=behavior_velocity_planner t=/perception/object_recognition/objects\n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(sensor_msgs::msg::PointCloud2con...: i=1517 Subscription n=behavior_velocity_planner t=/perception/obstacle_segmentation/pointcloud\n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(nav_msgs::msg::Odometryconst*) : i=6069 Subscription n=behavior_velocity_planner t=/localization/kinematic_state \n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(autoware_auto_mapping_msgs::msg:...: i= 1 Subscription n=behavior_velocity_planner t=/map/vector_map \n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(autoware_auto_perception_msgs::m...: i= 0 Subscription n=behavior_velocity_planner t=/perception/traffic_light_recognition/traffic_signals\n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(tier4_api_msgs::msg::CrosswalkSt...: i= 0 Subscription n=behavior_velocity_planner t=/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/input/external_crosswalk_states\n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(tier4_api_msgs::msg::Intersectio...: i= 0 Subscription n=behavior_velocity_planner t=/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/input/external_intersection_states\n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(tier4_planning_msgs::msg::Veloci...: i= 0 Subscription n=behavior_velocity_planner t=/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/input/external_velocity_limit_mps\n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(autoware_auto_perception_msgs::m...: i= 0 Subscription n=behavior_velocity_planner t=/external/traffic_light_recognition/traffic_signals\n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(tier4_v2x_msgs::msg::VirtualTraf...: i= 0 Subscription n=behavior_velocity_planner t=/awapi/tmp/virtual_traffic_light_states\n",
"void (behavior_velocity_planner::BehaviorVelocityPlannerNode::?)(nav_msgs::msg::OccupancyGridconst*): i=1515 Subscription n=behavior_velocity_planner t=/perception/occupancy_grid_map/map\n",
"void (AutowareErrorMonitor::?)() : i=1783 Timer n=system_error_monitor p=100 ms \n",
"void (EmergencyHandler::?)() : i=1782 Timer n=emergency_handler p=100 ms \n",
"void (diagnostic_updater::Updater::?)() : i= 178 Timer n=ad_service_state_monitor p=1000 ms\n",
"void (ScenarioSelectorNode::?)() : i=1672 Timer n=scenario_selector p=100 ms \n",
"void (diagnostic_updater::Updater::?)() : i= 178 Timer n=planning_error_monitor p=1000 ms\n",
"void (planning_diagnostics::PlanningErrorMonitorNode::?)() : i=1781 Timer n=planning_error_monitor p=100 ms \n",
"void (diagnostic_updater::Updater::?)() : i= 174 Timer n=cpu_monitor p=1000 ms\n",
"void (diagnostic_updater::Updater::?)() : i= 178 Timer n=hdd_monitor p=1000 ms\n",
"void (autoware::motion::control::trajectory_follower_nodes::LateralController::?)() : i=5433 Timer n=lateral_controller_node_exe p=30 ms \n",
"void (HDDMonitor::?)() : i= 178 Timer n=hdd_monitor p=1000 ms\n",
"void (diagnostic_updater::Updater::?)() : i= 178 Timer n=mem_monitor p=1000 ms\n",
"void (diagnostic_aggregator::Aggregator::?)() : i=1780 Timer n=aggregator_node p=100 ms \n",
"void (diagnostic_updater::Updater::?)() : i= 178 Timer n=net_monitor p=1000 ms\n",
"void (diagnostic_updater::Updater::?)() : i= 177 Timer n=ntp_monitor p=1000 ms\n",
"void (diagnostic_updater::Updater::?)() : i= 121 Timer n=process_monitor p=1000 ms\n",
"void (autoware::motion::control::trajectory_follower_nodes::LongitudinalController::?)() : i=5427 Timer n=longitudinal_controller_node_exe p=30 ms \n",
"void (diagnostic_updater::Updater::?)() : i= 177 Timer n=gpu_monitor p=1000 ms\n",
"void (diagnostic_updater::Updater::?)() : i= 163 Timer n=external_cmd_selector p=1000 ms\n",
"void (ExternalCmdSelector::?)() : i=1628 Timer n=external_cmd_selector p=100 ms \n",
"void (diagnostic_updater::Updater::?)() : i= 163 Timer n=external_cmd_converter p=1000 ms\n",
"void (external_cmd_converter::ExternalCmdConverterNode::?)() : i=1629 Timer n=external_cmd_converter p=100 ms \n",
"void (diagnostic_updater::Updater::?)() : i= 163 Timer n=lane_departure_checker_node p=1000 ms\n",
"void (AutowareStateMonitorNode::?)() : i=1772 Timer n=ad_service_state_monitor p=100 ms \n",
"void (surround_obstacle_checker::SurroundObstacleCheckerNode::?)() : i=1630 Timer n=surround_obstacle_checker p=100 ms \n",
"void (CostmapGenerator::?)() : i=1339 Timer n=costmap_generator p=100 ms \n",
"void (freespace_planner::FreespacePlannerNode::?)() : i=1332 Timer n=freespace_planner p=100 ms \n",
"void (lane_departure_checker::LaneDepartureCheckerNode::?)() : i=1627 Timer n=lane_departure_checker_node p=100 ms \n",
"void (ShiftDecider::?)() : i=1627 Timer n=shift_decider p=100 ms \n",
"void (diagnostic_updater::Updater::?)() : i= 162 Timer n=vehicle_cmd_gate p=1000 ms\n",
"void (VehicleCmdGate::?)() : i=1626 Timer n=vehicle_cmd_gate p=100 ms \n",
"void (behavior_path_planner::BehaviorPathPlannerNode::?)() : i= 984 Timer n=behavior_path_planner p=100 ms \n"
]
}
],
"source": [
"import re\n",
"\n",
"sym_table = []\n",
"\n",
"for sym in callback_symbols.values():\n",
" try:\n",
" cbo = list(filter(lambda val: val.callback_object==sym.id, callback_objects.values()))\n",
" assert len(cbo) == 1\n",
" cbo = cbo[0]\n",
" except:\n",
" print(len(cbo))\n",
" continue\n",
" owner_info = cbo.owner_info\n",
"\n",
" if None in owner_info: continue\n",
" type, info = owner_info\n",
" sym_table.append((sym, type, info))\n",
"\n",
"sym_table.sort(key=lambda tup: tup[1])\n",
"\n",
"def trim(string, length):\n",
" if len(string) > length:\n",
" return f\"{string[:length-3]}...\"\n",
" return string\n",
"\n",
"for sym, type, info in sym_table:\n",
" sym: CallbackSymbol\n",
" pretty_sym = util._prettify(sym.symbol)\n",
" pretty_sym = re.sub(r\"std::shared_ptr<(.*?)>\", r\"\\1*\", pretty_sym)\n",
" try:\n",
" i = len(sym.callback_obj.callback_instances)\n",
" except KeyError:\n",
" i = -1\n",
" print(f\"{trim(pretty_sym, 100):100s}: i={i:>4d} {type:12s} n={info['node']:40s}\", end=' ') \n",
" if type == 'Timer':\n",
" print(f\"p={info['period']:7s}\")\n",
" elif type == 'Subscription':\n",
" print(f\"t={info['topic']:30s}\")\n",
" else:\n",
" print()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Topic-Node Mapping"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"161 topics were aggregated into 78 cohorts\n"
]
}
],
"source": [
"# Aggregate topics that have the same pubs and subs\n",
"topic_cohorts = {}\n",
"for topic in topics.values():\n",
" key = (frozenset({*(pub.node_handle for pub in topic.publishers)}), frozenset({*(sub.node_handle for sub in topic.subscriptions)}))\n",
" if key not in topic_cohorts:\n",
" topic_cohorts[key] = []\n",
" topic_cohorts[key].append(topic)\n",
"\n",
"print(f\"{len(topics)} topics were aggregated into {len(topic_cohorts)} cohorts\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Timer-Node Mapping"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/system/system_error_monitor : 10.00Hz\n",
"/system/emergency_handler : 10.00Hz\n",
"/system/ad_service_state_monitor : 1.00Hz\n",
"/planning/scenario_planning/scenario_selector : 10.00Hz\n",
"/planning/planning_diagnostics/planning_error_monitor : 1.00Hz\n",
"/planning/planning_diagnostics/planning_error_monitor : 10.00Hz\n",
"/system/system_monitor/cpu_monitor : 1.00Hz\n",
"/system/system_monitor/hdd_monitor : 1.00Hz\n",
"/control/trajectory_follower/lateral_controller_node_exe : 33.33Hz\n",
"/system/system_monitor/hdd_monitor : 1.00Hz\n",
"/system/system_monitor/mem_monitor : 1.00Hz\n",
"/aggregator_node : 10.00Hz\n",
"/system/system_monitor/net_monitor : 1.00Hz\n",
"/system/system_monitor/ntp_monitor : 1.00Hz\n",
"/system/system_monitor/process_monitor : 1.00Hz\n",
"/control/trajectory_follower/longitudinal_controller_node_exe : 33.33Hz\n",
"/system/system_monitor/gpu_monitor : 1.00Hz\n",
"/control/external_cmd_selector : 1.00Hz\n",
"/control/external_cmd_selector : 10.00Hz\n",
"/control/external_cmd_converter : 1.00Hz\n",
"/control/external_cmd_converter : 10.00Hz\n",
"/control/trajectory_follower/lane_departure_checker_node : 1.00Hz\n",
"/system/ad_service_state_monitor : 10.00Hz\n",
"/planning/scenario_planning/lane_driving/motion_planning/surround_obstacle_checker : 10.00Hz\n",
"/planning/scenario_planning/parking/costmap_generator : 10.00Hz\n",
"/planning/scenario_planning/parking/freespace_planner : 10.00Hz\n",
"/control/trajectory_follower/lane_departure_checker_node : 10.00Hz\n",
"/control/shift_decider : 10.00Hz\n",
"/control/vehicle_cmd_gate : 1.00Hz\n",
"/control/vehicle_cmd_gate : 10.00Hz\n",
"/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner : 10.00Hz\n",
"UNKNOWN (x34) : 1.00Hz\n",
"UNKNOWN (x1) : 2.00Hz\n",
"UNKNOWN (x1) : 10.00Hz\n",
"Found 31 timers with a recorded node, 36 without.\n"
]
}
],
"source": [
"unknowns = {}\n",
"\n",
"print_node_timer = lambda node_path, period: print(f\"{node_path:<90s}: {1/(period*1e-9):8.2f}Hz\")\n",
"\n",
"for timer in timers.values():\n",
" timer_nodes = timer.nodes\n",
" if not timer_nodes:\n",
" if timer.period not in unknowns:\n",
" unknowns[timer.period] = 0\n",
" unknowns[timer.period] += 1\n",
"\n",
" for node in timer_nodes: print_node_timer(node.path, timer.period)\n",
" \n",
"for period, count in unknowns.items():\n",
" print_node_timer(f\"UNKNOWN (x{count})\", period)\n",
"\n",
"n_unknown = sum(unknowns.values()) # Values are counts per period\n",
"print(f\"Found {len(timers) - n_unknown} timers with a recorded node, {n_unknown} without.\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Measure Frequency Deviations"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"219 unknown publisher handles (176 known ones)\n"
]
}
],
"source": [
"# Get Publisher frequencies\n",
"df_publications = handler.data.rcl_publish_instances\n",
"pub_stats = {}\n",
"unknown = 0\n",
"for pi in publish_instances:\n",
" try:\n",
" pub = pi.publisher\n",
" except KeyError:\n",
" unknown += 1\n",
" continue\n",
" if pub.id not in pub_stats:\n",
" pub_stats[pub.id] = {'times': []}\n",
" pub_stats[pub.id]['times'].append(pi.timestamp*1e-9) # Nanoseconds to seconds float\n",
"\n",
"print(f\"{unknown} unknown publisher handles ({len(pub_stats)} known ones)\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Plot Frequency Deviations"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"fig_dirname = \"fig_frequency\"\n",
"os.makedirs(fig_dirname, exist_ok=True)\n",
"for i, (k, v) in enumerate(sorted(pub_stats.items(), key=lambda kv: len(kv[1]['times']), reverse=True)):\n",
" pub_time_diff = np.diff(np.array(v['times']))\n",
" v['period'] = pub_time_diff.mean()\n",
" v['period_std'] = pub_time_diff.std()\n",
" v['frequency'] = 1 / v['period']\n",
" v['frequency_std'] = (1/pub_time_diff).std()\n",
"\n",
" try:\n",
" publisher = publishers[k]\n",
" publisher_node = publisher.node\n",
" topic_name = publisher.topic_name\n",
" node_path = publisher_node.path\n",
" except Exception:\n",
" topic_name=\"UNKNOWN\"\n",
" node_path=\"UNKNOWN\"\n",
" \n",
" fig = plt.figure(figsize=(15,5))\n",
" ax = fig.add_subplot()\n",
" ax.hist(1/pub_time_diff)\n",
" ax.set_xlabel(\"Publication Frequency [Hz]\")\n",
" ax.set_ylabel(\"#Publications\")\n",
" ax.set_title(f\"{node_path} =({v['frequency']:.2f}Hz)=> {topic_name}\")\n",
" plt.savefig(os.path.join(fig_dirname, f\"{i:06}{node_path}__{topic_name}\".replace('/','-')))\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data Flow Graph"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"node_filters = [\"transform_listener_impl\", \"_monitor\"]\n",
"topic_filters = [\"/rosout\", \"/parameter_events\", \"/diagnostics\"]\n",
"\n",
"from pyvis.network import Network\n",
"net = Network(notebook=True, height='750px', width='100%', bgcolor='#ffffff', font_color='#000000')\n",
"\n",
"net.add_node(\"INPUT\", label=\"Input\", size=100, color=\"green\", physics=False, x=0, y=0)\n",
"net.add_node(\"OUTPUT\", label=\"Output\", size=100, color=\"red\", physics=False, x=6000, y=0)\n",
"\n",
"\n",
"for node in nodes.values():\n",
" if any(f in node.path for f in node_filters): \n",
" continue\n",
" net.add_node(node.id, label=node.name, title=node.path, size=20, color=\"#333\")\n",
"\n",
"for cohort_key, cohort_topics in topic_cohorts.items():\n",
" cohort_topic_names = [topic.name for topic in cohort_topics if not any(f in topic.name for f in topic_filters)]\n",
" if not cohort_topic_names: \n",
" continue\n",
" cohort_id=\"\\n\".join(cohort_topic_names)\n",
" cohort_weight=len(cohort_topic_names)\n",
" net.add_node(cohort_id, label=\" \", title=cohort_id, size=5, color=\"#333\")\n",
" \n",
" pubs = cohort_key[0]\n",
" subs = cohort_key[1]\n",
" n_pubs = len(pubs)\n",
" n_subs = len(subs)\n",
" \n",
" try:\n",
" if not n_pubs:\n",
" net.add_edge(\"INPUT\", cohort_id, arrows=\"to\", color=\"green\", weight=cohort_weight)\n",
" if not n_subs:\n",
" net.add_edge(cohort_id, \"OUTPUT\", arrows=\"to\", color=\"red\", weight=cohort_weight)\n",
"\n",
" for pub in pubs:\n",
" net.add_edge(pub, cohort_id, arrows=\"to\", color=\"green\", weight=cohort_weight)\n",
" for sub in subs:\n",
" net.add_edge(cohort_id, sub, arrows=\"to\", color=\"red\", weight=cohort_weight)\n",
" except:\n",
" continue\n",
"\n",
"net.toggle_physics(True)\n",
"net.show_buttons()\n",
"net.show(\"graph.html\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pub-Use Latencies\n",
"Compute for each node and its data dependencies the list of pub-use delays (per-topic-per-node list of pub-use delays)"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/launch_ros_9807 has 0 timer callbacks, 0 subscription callbacks, 0 subscribed topics.\n",
"/system/system_monitor/system_monitor/system_monitor_container has 0 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/robot_state_publisher has 0 timer callbacks, 2 subscription callbacks, 2 subscribed topics.\n",
"/system/system_error_monitor has 1 timer callbacks, 5 subscription callbacks, 5 subscribed topics.\n",
"/aggregator_node has 1 timer callbacks, 2 subscription callbacks, 2 subscribed topics.\n",
"/system/emergency_handler has 1 timer callbacks, 6 subscription callbacks, 5 subscribed topics.\n",
"/map/map_container has 0 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/system/ad_service_state_monitor has 2 timer callbacks, 5 subscription callbacks, 15 subscribed topics.\n",
"/system/transform_listener_impl_aaaab90b38b0 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/planning/mission_planning/mission_planning_container has 0 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/planning/scenario_planning/scenario_selector has 1 timer callbacks, 6 subscription callbacks, 6 subscribed topics.\n",
"/planning/scenario_planning/external_velocity_limit_selector has 0 timer callbacks, 4 subscription callbacks, 4 subscribed topics.\n",
"/planning/scenario_planning/transform_listener_impl_aaaad6cbbcb8 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/planning/scenario_planning/motion_velocity_smoother has 0 timer callbacks, 4 subscription callbacks, 4 subscribed topics.\n",
"/planning/scenario_planning/transform_listener_impl_aaaaf1071f80 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/behavior_planning/behavior_planning_container has 0 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/motion_planning/motion_planning_container has 0 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/planning/scenario_planning/parking/parking_container has 0 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/planning/planning_diagnostics/planning_error_monitor has 2 timer callbacks, 2 subscription callbacks, 2 subscribed topics.\n",
"/control/control_container has 0 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/system/system_monitor/cpu_monitor has 1 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/control/trajectory_follower/lateral_controller_node_exe has 1 timer callbacks, 4 subscription callbacks, 4 subscribed topics.\n",
"/system/system_monitor/hdd_monitor has 2 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner has 0 timer callbacks, 5 subscription callbacks, 5 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/motion_planning/transform_listener_impl_aaaaf153e160 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/control/transform_listener_impl_aaaaf51e51c0 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/map/map_hash_generator has 0 timer callbacks, 0 subscription callbacks, 0 subscribed topics.\n",
"/system/system_monitor/mem_monitor has 1 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/map/lanelet2_map_loader has 0 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/system/system_monitor/net_monitor has 1 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/map/lanelet2_map_visualization has 0 timer callbacks, 2 subscription callbacks, 2 subscribed topics.\n",
"/system/system_monitor/ntp_monitor has 1 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/planning/mission_planning/mission_planner has 0 timer callbacks, 4 subscription callbacks, 4 subscribed topics.\n",
"/system/system_monitor/process_monitor has 1 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/planning/mission_planning/transform_listener_impl_aaab0bafc440 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/control/trajectory_follower/longitudinal_controller_node_exe has 1 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/planning/mission_planning/goal_pose_visualizer has 0 timer callbacks, 2 subscription callbacks, 2 subscribed topics.\n",
"/system/system_monitor/gpu_monitor has 1 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/control/transform_listener_impl_aaaaf52d4c30 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/map/pointcloud_map_loader has 0 timer callbacks, 1 subscription callbacks, 1 subscribed topics.\n",
"/control/external_cmd_selector has 2 timer callbacks, 9 subscription callbacks, 9 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner has 1 timer callbacks, 9 subscription callbacks, 9 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/behavior_planning/transform_listener_impl_ffff200c66b0 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/control/external_cmd_converter has 2 timer callbacks, 6 subscription callbacks, 6 subscribed topics.\n",
"/planning/scenario_planning/parking/costmap_generator has 1 timer callbacks, 5 subscription callbacks, 5 subscribed topics.\n",
"/planning/scenario_planning/parking/transform_listener_impl_aaaaf521b848 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/control/trajectory_follower/latlon_muxer_node_exe has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/control/trajectory_follower/lane_departure_checker_node has 2 timer callbacks, 6 subscription callbacks, 6 subscribed topics.\n",
"/control/transform_listener_impl_aaaaf55ae730 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/map/map_tf_generator has 0 timer callbacks, 2 subscription callbacks, 2 subscribed topics.\n",
"/_ros2cli_9870 has 0 timer callbacks, 0 subscription callbacks, 0 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/motion_planning/surround_obstacle_checker has 1 timer callbacks, 4 subscription callbacks, 4 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/motion_planning/transform_listener_impl_ffff5c00c708 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/motion_planning/obstacle_stop_planner has 0 timer callbacks, 6 subscription callbacks, 6 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/motion_planning/transform_listener_impl_ffff3400eba0 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/planning/scenario_planning/parking/freespace_planner has 1 timer callbacks, 5 subscription callbacks, 5 subscribed topics.\n",
"/planning/scenario_planning/parking/transform_listener_impl_aaaaf5695dc0 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n",
"/control/shift_decider has 1 timer callbacks, 2 subscription callbacks, 2 subscribed topics.\n",
"/control/vehicle_cmd_gate has 2 timer callbacks, 17 subscription callbacks, 17 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner has 0 timer callbacks, 13 subscription callbacks, 13 subscribed topics.\n",
"/planning/scenario_planning/lane_driving/behavior_planning/transform_listener_impl_ffff24598628 has 0 timer callbacks, 3 subscription callbacks, 3 subscribed topics.\n"
]
}
],
"source": [
"def filter_none(ls):\n",
" return filter(lambda x: x is not None, ls)\n",
"\n",
"def safe_map(func, ls):\n",
" def safe_func(arg):\n",
" try:\n",
" return func(arg)\n",
" except:\n",
" return None\n",
" \n",
" return map(safe_func, ls)\n",
"\n",
"pub_use_delays = {node.id: {\n",
" 'pubs': {}, \n",
" 'invocations': {}, \n",
" 'n_unknown_invocations': 0, \n",
" 'n_pub_timestamps': 0\n",
" } for node in nodes.values()}\n",
"\n",
"for node in nodes.values():\n",
" node_pub_use_dict = pub_use_delays[node.id]\n",
" timestamp_min = np.inf; timestamp_max = 0\n",
"\n",
" n_pub_timestamps = 0\n",
" for sub in node.subscriptions:\n",
" node_pub_use_dict['pubs'][sub.topic_name] = {}\n",
" for pub in sub.publishers:\n",
" pub_timestamps = [inst.timestamp for inst in pub.instances]\n",
"\n",
" try:\n",
" pub_t_min = min(pub_timestamps); pub_t_max = max(pub_timestamps)\n",
" except ValueError:\n",
" pub_t_min = np.inf; pub_t_max = 0\n",
" \n",
" if pub_t_min < timestamp_min: timestamp_min = pub_t_min\n",
" if pub_t_max > timestamp_max: timestamp_max = pub_t_max\n",
"\n",
" node_pub_use_dict['pubs'][sub.topic_name][pub.node.path] = pub_timestamps\n",
" node_pub_use_dict['n_pub_timestamps'] += len(pub_timestamps)\n",
"\n",
" timer_cb_objs = list(filter_none(safe_map(lambda timer: timer.callback_object, node.timers)))\n",
" subsc_cb_objs = list(filter_none(safe_map(lambda subsc: subsc.subscription_object.callback_object, node.subscriptions)))\n",
"\n",
" print(f\"{node.path:95s} has {len(timer_cb_objs):1d} timer callbacks, {len(subsc_cb_objs):2d} subscription callbacks, {len(node_pub_use_dict['pubs']):2d} subscribed topics.\")\n",
"\n",
" node_invocations = node_pub_use_dict['invocations']\n",
"\n",
" for cb_obj in timer_cb_objs + subsc_cb_objs:\n",
" cb_invocations = []\n",
" for inst in cb_obj.callback_instances:\n",
" cb_invocations.append((inst.timestamp, inst.duration))\n",
"\n",
" node_invocations[cb_obj.id] = cb_invocations"
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Ignoring 0 nodes due to filters.\n",
"/launch_ros_9807 has no invocations, skipping.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"<ipython-input-117-38f5f659767b>:26: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n",
" fig = plt.figure(figsize=(15,5))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"/map/map_hash_generator has no invocations, skipping.\n",
"/_ros2cli_9870 has no invocations, skipping.\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABVcAAAFNCAYAAAAEpV9nAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde9xnY73/8dfbOI5jRQeFKaUDZTDYJBEJKUQk1VbtRNsvdumMLUoplcpWDrsodkgpETnklPNgnHKoHFJKSHKO8fn9sa6b79zu09zumXuG1/PxuB/3d611rev6rOu7vmvm/nyvda1UFZIkSZIkSZKkmTPPeAcgSZIkSZIkSXMjk6uSJEmSJEmSNAomVyVJkiRJkiRpFEyuSpIkSZIkSdIomFyVJEmSJEmSpFEwuSpJkiRJkiRJo2ByVZIkSZKe5ZIsm+T+JBNmcTtfSrLbGNZ3f5KXjVV9Gr0kleTls7iNzyY5/Gnsf0qSfx/LmPrV/4Ik1yVZYFa1IWnOY3JVkiRJGkdJlk7yp1lU9+xIdrw7yf/NgnrXm1X9oqeqqj9W1SJVNR0gydlJ/mMs20iyFPA+4JC2PH+S45Pc0s7V9YbZ/ykxtZhvGss4RyvJLkmmJnkkyREDbN8gyfVJHkxyVpLlerYdkeQL/cpPav0y79OMa4ck01siuu9nvadT53ipqv2qakTnZZK9kxzVb/9NqurIWRMdVNUdwFnAjrOqDUlzHpOrkiRJ0vjaFDh1vIN4GjYFfjneQYyHgZJeM5sIS+cZ9XfZEMe0A/DLqnqoZ91vgPcAf50dsY3WCN/X24EvAN8bYP8lgZ8CewLPBaYCx45ljMO4sCWi+37Ono1tj4mnm2SejY4GPjzeQUiafZ5R/4hLkiRJc6EnkpNJPpXkz0nuS3JDG+n2wjbS7Xl9OyRZLcmdSeZL8vIk5yS5N8ldSY5tZc5txa9sI9W2bes3SzItyT+SXJDkdT313pLkE0muSvJAkv9tt7me0mI6I8lzesrPA7wZODXJgkmOSnJ3q/vStu87k1zWe8BJPp7kZ+31pkl+2+r/c5LdkywMnAIs3TPSbukk8yT5dJI/tHaOS/LcVk/fKL/3J7ktyT1JdkqyejuefyQ5aCRvSJIPpLu1954kv+o3wrCS/GeS3wG/G2Ld2q0P7m2/1+6p4+wkX0xyPvAgMOht7a3sF9p7dX+SXyR5XpKjk/yz1T2pp/xw7e6b5PzW36e1pN8MoySTfBF4A3BQa/OgMTqmTYBz+haq6l9VdWBV/QaYPsx7MlhMT4zOTjf68+B2vt7fjvOFSQ5s7+X1SVbpqXPpJD9J91m6OclHe7btnW5U7VFJ/kmXGB5SVf20qn4G3D3A5ncA11bVj6vqYWBvYOUkrxqu3p5Ye0eePpik2rZl2/m97EjqGqadJPlGkr+19/mqJCu1bTOMHE43IvY3/arYNMlN6a5FX01LsmeQ61TbtmKS05P8PckdST7b1j/lPUjPaNSec3bHJLcn+UuSj7dtGwOfBbZt/XVl/2NIdz3ZI8mt7Xh/kGTxfnX/e5I/tpg/1xPzGulGKf+zxfz1nj64GHhZeq4bkp7ZTK5KkiRJ4yTJfMC6wOlJXgnsAqxeVYsCbwFuqaq/AmcD2/Ts+h7gmKp6FNgXOA14DvAS4NsAVbVuK7tyG6l2bJJV6UbVfRh4Ht3t2SdmxvkBt6JLmK4AvI0uyflZYEm6vx8+2lN2DeCmqroL+HdgcWCZVvdOwEPAicBLk7y6X/w/bK//F/hwO+aVgF9X1QN0ibjbe0ba3d7a3gJ4I7A0cA/wP/26dU3gFcC2wIHA54ANgRWBbZK8kSEk2aId7zuApYDzgB/1K7ZFa+c1A61Ll/A9GfhW64uvAyenJ0EOvJfu1uFFgVuHigl4Vyv/YmB54ELg+3QjIK8D/rvFPpJ23w28H3g+MD+we//Gqupz7bh3aX2/yxgd02uBG4Y51gENFNMgRbcB9qA7Xx+h66vL2/LxLe6+LwZ+AVxJ168bALsleUtPXZu3fZagG434dKzY2uo7ngeAP7T1w6qq3s/CIsAJwDFt2x+raomq+uMQVazSEoQ3Jtkzg48C3YjumrQC3XFvy8DJ4sFsCUwBVqXrvw+09QNep5IsCpxBN3p/aeDlwJk99Y3kPVif7jO/EfDpJBtW1anAfsCxrc9WHmC/HdrP+nRfBiwC9P8CZh3glXTnx14917FvAt+sqsXoPpPH9e1QVY8BvwcGalPSM5DJVUmSJGn8rAtcWVX30Y3cW4AuOTdfVd1SVX9o5Y6kS0iS7oFD2/FkcvJRYDlg6ap6uI0CHMyHgEOq6uKqmt7mHnwE+LeeMt+uqjuq6s90yayLq+qKqnqELqGzSk/Zt/LklACP0iXdXt7qvqyq/tn2O7Yn/hWBScBJPfu9JsliVXVPVV0+RPwfBj5XVX9q9e4NbN0vUbRv64fTgAeAH1XV33qOZ5Wn1PrUNr5UVde1JMl+wOR+o9C+VFV/73d7e++6twK/q6ofVtVjVfUj4Hq6ZHWfI6rq2rb90WFi+n5V/aGq7qVLdv+hqs5o8f2455hG0u73q+rGFudxwORh2u4zFse0BHDfCNsbrRPaufcw3fn6cFX9oM0leyxP9tXqwFJVtU8bQXsTcBhdIrvPhVX1s6p6vN97PRqLAPf2W3cvXSK6z+5tBOo/kvwDuGqgipJ8CngVTyYuh3Mu3RcXz6f78mQ74BODlH20xfQqIO1z8JcRtgOwf/sc/JHuy43teuod6Dq1GfDXqvpaW39fVV3cU99I3oPPV9UDVXU13ZcO2w1Srr/tga9X1U1VdT/wGeBd/a4nn6+qh6rqSrrkeF/C9FHg5UmWrKr7q+qifnXfR3e+S3oWMLkqSZIkjZ8npgSoqt8Du9ElDP+W5JgkS7dyP6dLQL6MblTpvVV1Sdv2SSDAJUmuTTJUwmU54OP9EjjL0I0Y63NHz+uHBlheZKD46ZK9vwKOabfofqWNzIUuOfzuJKEb3XhcS45Cl+zZFLi13Ta81jDxn9AT+3V0SekXjDL+wdr4Zk8bf6fr3xf3lLltgP161y3NU0du3jqCOgYz0mMaSbu9c5s+yPD90WcsjukeZkwmzgoj7avl6Kad6P0sfJYZz6WZeY+Gcz+wWL91izFjsvmANgJ1iapaAnhdv/Ik2QTYFdhipAnfljy8uSUorwb2AbYepOyv6UZv/g9wR5JDk/SPeyi9fXYrT15bBrtOLUM3gnck9c1sm8Ppf07fCszLjOfAYJ+XD9KN7r0+3RQZm/Wre1HgHyOMQ9JczuSqJEmSNH42pbvVGoCq+r+qWocu8VPA/m39w3SjDLenS07+sGefv1bVh6pqabpRlwenzUE5gNuAL/YmcKpqYhuFOFOSvBB4Ed0t11TVo1X1+ap6DbA23Yi097VtFwH/opsz89394r+0qjanG1X3M568vbYGiX+TfvEv2EaljpXb6KYp6G1joaq6oKfMQLH1rrud7j3stSzQG+dAdTxdI2l3pPrHNxbHdBVdQmq0xrLPbgNu7vc+L1pVm86i9q6l5zbxdPMKL9/Wj0ibOuRIYJuqejqJ36JLdA68sepbVbUa3ZQFK/DkKNcHgIk9RV84wO7L9Lxelu68Geo6dRtdPwwV63AGbHME+/Y/p5cFHmPGhPzAQVX9rqq2o7tu7Q8c397TvgdvvZyeaSAkPbOZXJUkSZLGQZKXAgtU1fVt+ZVJ3tTmP32YbpRd70N+fkA3P+DbgaN66nlnkpe0xXvoEgp9+93BjA8WOgzYKcma6Syc5K1t3sOZtSlwalX1PVRn/SSvbdMW/JPuttn+8R8EPNZ3S3CS+ZNsn2Txdhv5P/vF/ry+B8w03wW+2HeLfpKlkmw+itiH8l3gM236ApIsnuSdM1nHL4EVkrw73QOitqWbn/WkYfZ7usay3f7nzljU/Uu6+XKfkGSBJAu2xfnTPRhtsMRf/5iejkuAf6Z7iNxCSSYkWSnJ6oPtkGS9tIdIDbJ93nYsE4AJ7Vj6bjE/AVgpyVatzF7AVX2f/+G00aM/B/aoflN/5MmHL00
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABbYAAAFNCAYAAADchTkoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdebxd0/3/8fe7YkhEjamZdEBLkXJRYymlgqLyoxUqpaVUfSlVVUNKamqptiihRFFCFDUHFVNMmSRBUPNU8xQiQj6/P9Y6su/JOeeem3vuvTnxej4e95Fz9rDWZ6+9zr65n7P22o4IAQAAAAAAAADQLD7X3QEAAAAAAAAAANAeJLYBAAAAAAAAAE2FxDYAAAAAAAAAoKmQ2AYAAAAAAAAANBUS2wAAAAAAAACApkJiGwAAAAAAAADQVEhsAwAAAE3G9ua2X+iCelayPdX2fJ1dV4W6n7G9VRfUc6PtvTq7nrI6Pz0220faPq8r6++o3Ce+1EV19bUdtnt0QV1ddlyfJV11HbF9ou2DG1ge/QEVddV1yfbZto/uwP4P2968gSGVl7+W7dGdVT5QDxLbAAAAwFzC9nJdkbCuV0Q8FxG9I+KTRpVpe6TtrRtVXkdFxLYRcWE31n9CRPyku+pvi+1RtlvFl/vEUx0sdwHbr9vu3bEIG6cRx4XZlV9HKvWpjrLdR9KPJJ2T33/T9i2237T9mu0rbC9bY/9O6eedzfbXbd+cP0tRYf1sXxDaHmT77gbUfbztSbY/tj24wvrdbT9r+33bV9teorButvZu1Be2tn9le7Lt92w/bftXHS2zu0TEzyLi+Hq2tT3M9pCy/deIiFGdElwqf6Kkt23v0Fl1AG0hsQ0AAADMPfpLuqm7g+gstheWtK6kO7o7FnS7zSRNiIip3R3I3KjSSND2jg51Mk/9zV/jmAZJuiEipuX3i0saKqmvpJUlvSfpgq6Isb06OOp3hqTLJe3ToHDa47+SDpd0ffkK22sofcmwp6SlJX0g6awuistKX3IsLum7kg60/YMuqrthuuNOqTl0iaT9ujsIfHbNU7/kAAAAgCbXX9IN0qcj7X5j+xHbb9m+wPZClXayfYTtJ/MItUds71xYN8j23bb/mMt52va2hfWj8si7e/L+I20vlde1ut261rZ5/Y/yCL03bB9dYbTglpLuiYjptgfbHmF7eC5rnO21qxzf+rbvtf227Zdtn2F7gcL6sP0z20/kYzzTtttx/D+pc9sv2r4zx3trrufitk6q7T0L7fLbsnWDi2U4jSz9n+13cl1rFNYtafta2+/aftD2EBdGXrbRDp+zfVSO41Xb/7C9aF63kO2Lc3xv57KXtv17SZtKOsNpWoYzCvV8Jb/uafvUXO47uf16ViuzcOjFvj7KaRqJB3IZ17gwurOsvX5s+9F8Dp6yvV9h3ea2X7B9aD7Gl23/uLB+WG6T6/P+99v+cln7faXObbe2/ViO9yzbd7iOUci2987xv+U00nblsvp/bvsJSU/UWLZRbs938r8bFcoYZfv3tu9RSiZWnUojbzvE9uh8fq/NfeySQh/rW9i+rXrbvI7U6FMdPaZtVfjCLCJujIgrIuLdiPhA0hmSNq7SDvX082H5PN+Yt7nH9jK2T8/ncortbxTKXM72lU6jxZ+2fVBhXenad7HtdyUNcrrGjcnt/ort06qdt6KIeCwi/i7p4Xq2r3Dsu+XjKf1Mtz2qzrovjIgblb40KDdQ0rURcWf+8upoSd+3vUidcW1YFteHtp/J6zax/XaNuE6JiHER8XFEPCbpGlU/91WvUy77/eWya3W2t+2XnK41hxa2rXo+c/yjc33P2x6Ulw+z/TfbN9h+X9IWLozC9qzr25FOI/SfsT0wr9s3t/nhpc9y+THYXjD315fyz+m2Fywru9q1s7/T/y3es/2i7cMKbTBK0palsoCuRmIbAAAAmAvYnl9pFOsthcUDJW0j6cuSVpV0VJXdn1RKzCwq6XeSLnbr2+43kPSYpKUknSLp73ZKeGa7S/qxpC9IWkBS8Y/WchW3tb260oi8gZKWzbEsX7Zvf7Ue3bejpCskLSHpn5Kuzu1Q7hNJh+T4N1RKkB9Qts32ktaTtLakXZXard7jV53b/lPSA5KWlDRYaTRiTbld/pa3XS7vu0KNXW6UtIpS+45TGg1Xcqak9yUtI2mv/FOuWjsMyj9bKCUGeysl+5TLWVTSijm+n0maFhG/lXSXpAPztAwHVqjvj0qj8DdSOo+HS5pZrczCfuV94UeS9lZqo48l/aVCXZL0aj7Gzyv1wz/ZXqewfhnN6nv7SDrT9uKF9T9U+owsrjTi9PdV6qm6rVPCdoSk3+Rjeywff022d5J0pKTvS+qj1LaXlm22k1IfXL3SMqeE//VK7bOkpNMkXW97ycL2e0raV9Iikp5tI6wf5O2XV7rO3Ks0snkJSY9KOjbHXk+9bV5HKvWpBh3TmkrnoZrNVCX5W2c/l9Ln6Sila8N0pbYal9+PyHHLaUT5tZIeUmrXLSUdbLt4Tdox77OY0mf8z5L+HBGfVzoPl9c4loaJiOH5mHsrffae0ux9ck6soXT8pXqelPSR0u+xeuK6txDX4pLuK8UVEXdHxGL1lJOv3ZuqeuK/retUW7ZQul5vLemIQiK84vm0vZLSNf6vSteAfpImFMrbXek6s4ikStPFLKPU35bPsQ+1vVpEDFXqR6fkdqs0NchvJX0z17m2pPXV+v8Uta6df5e0X0QsIunrkv5T2ikiXlS6c2C16s0EdB4S2wAAAMDcYTNJD0VEcfTbGRHxfES8qfTH7g8r7ZhHJr4UETMjYrjSyM71C5s8GxHn5jluL1RKPBdHz14QEY/n2/gvV/rDt5pq2w5QGqF3d0R8JOkYSeVzvm6rPEo3GxsRIyJihlJSaCGlP7zLj29sRNyXR+A9o3SL+7fKNjspIt6OiOck3V52DG0dv9raNick1pN0TER8FBF3S/p3lTKKBki6Lo9cnK40cnFmtY0j4vyIeC9vO1jS2rYXdbotfRdJx0bEBxHxSI6vXLV2GCjptIh4Ko+g/I2kHziNxp+hlNT5SkR8ktv73bYOLCfw9pb0fxHxYt53dI69aplOD+SbP4+mLLkoIiZHxPu5jXZ1hVvxI+L6iHgykjskjVRKXJXMkHRcRMyIiBskTVXrhMu/IuKBiPhYKRFUq69X27a/pIcj4l953V8k/a+t9lK6Xf/EiHg073eCpH4ujNrO698sTKlRvmw7SU9ExEX583CppCmSiomsYRHxcF4/o42YLsjt+Y5Swu3JiLg1x3eFpNIo5Hrqbc91pKgRx7SYKo8clu21lK5HHZ1r+arcjz+UdJWkDyPiH/laMVyz2mo9SX0i4rh8rXhK0rlKXyKU3BsRV+dr9jSlfvsV20tFxNSIuK+DsRZdnUcHv51HOs82JUj+LP9T0qiIOKcBdfaW9E7ZsneUErYlfymL67oqZf1F6Qu931ZZX8tgpbxXtWlo5ujaV/C7iHg/IiblOkq/o6udz4GSbo2IS/M16o2IKCa2r4mIe3K/+LBKnUdHxPR8/bte6QuXegxUuja+GhGvKX1pV/xytta1c4bSF2ufj4i3ImJcWdnvKX0GgS5HYhsAAACYO3w6NUPB84XXzyqNqJuN0xQgEwoJgq8rjeoq+TTpFum2fCklHmZbr3Srf60H+lXbdrlivLmeNwoxrinp3YgoHlNx+5mSXlCFY7S9qu3rnKboeFcpIbhU2Wa1jqGt469YTtm2y0l6s7CsVfw1lLfL+yq0S5Ht+Wyf5DStzLuSnsmrllIa3dejrM5K9dc6P8WRrs/m8paWdJGkmyVdlm9RP6XKyPlySyl9GfFkhXW1ytxObff1+TX7OZbtbW3f5/RQwLeVPjfF7d7ISdmSqn2hwrpy9fb1UOq7bVlZ0p8Ln9M3leYDLt7ZUOmcFpeVn0fl922VUc0rhdfTKryv1n8q1dueti1qxDG9pdZJU0mS01QiNyp9+XJXnfFUU29brSxpubKk7ZFq/WVa+fHsozSaeYrTdBjbdzDWop0iYrHSj2a/20W
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABOoAAAFNCAYAAAC+I4AuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdebwfVX3/8ddbQEHZVBBFwFhErAsGiVgUFQpSwQ0FRYtLqq0LdcGK/hS3VBTFldYNECmIVkBwBdkFUZElSFgFN1AUhArIooAsn98fc77km5u7Jbk3mZDX8/HI435n5syZMzPnfiHvnDOTqkKSJEmSJEnSsnW/Zd0ASZIkSZIkSQZ1kiRJkiRJUi8Y1EmSJEmSJEk9YFAnSZIkSZIk9YBBnSRJkiRJktQDBnWSJEmSJElSDxjUSZIkSUsoSSV5zDQfY0Y7zsrTeZy+mc7zTnJ6kn+d4jp/kmTzqaxzEsdcGv1v7yQHL8H+xyd5zRS0461JPrak9UhSXxnUSZIkabmVZP0kv19Gx356kjOXxbEnkmR2kh+PWPfOJBcnuSXJFUneuazad1+V5AXALVV1flt+YpITk/wpSS3j5i2Rqtq3qiYVaiaZk+SrI/bfsaoOm4KmHAS8MsnDpqAuSeodgzpJkiQtz3YCTliGx/7+Mjr24gjwauDBwHOBNyd5+bJt0vJpnNF9bwQOH1q+EzgKeN20N2oa9WkUZ1XdDhxP15cl6T7HoE6SJEnLs3vDsiRXtlFjFyb5S5IvJ1mvTbm7JckpSR482DHJN5L8MclNSc5I8oShbYcmOSDJyW3fHyZ51FjHHpbkeUnOT3JzkquSzBnaNpjG+Zokv2sjrd47tP1+Sd6d5NdJrk9yVJKHjHbiSdZq53hNkj8k+XCSlZL8PXAAsFWSW5P8GaCqPl5VP6uqu6rqcuA7wDMmusCtvXsk+WW7Fvsk2TjJT9s5HpXk/q3sg5Mcm+T/ktzYPm8wVNfpST6a5Jx23b8z1vmN0571k3w3yQ1JfpXk34a2bdna9ed2XT43aFvb/pwkl7Vjf44uvByu+7VJft7afuLwPW/X4d+T/BL45Sjtuj/wj8APB+uq6vKq+jJwySTOK0k+k+S61r4Lkzxx6Lr961DZhUZMAjsl+U3rU59Icr9W9jGt/97Uth05VM8TWh+/Icm1SfZu6+ckOTrJV5PcDMzO0Ci5oX78+iRXt2v9jrbtucDewG6t/10w8hxaP39fkt+28/1KkrVG1D3q70hzOvC8ia6pJC2PDOokSZK0XEqyCvAs4OSh1bsAzwEeC7yAbuTN3sA6dP/v+9ahsscDmwAPA34GfG3EIXYH9mn7zhvenuQRwHrA+aM07S90o33WpgsT3pRk5xFltgY2BbYDPtDCNVr7dgaeDawP3Ah8foxLcBhwF/AYYHNgB+Bfq+rndCO7flpVq1fV2iN3TBLgmUwiQGqeC2wB/APwLrrph7sDGwJPBF7Ryt0P+B/gUcBGwG3A50bU9Wrgte387gL+e5JtGPg68Pu2/67Avkm2a9vuBt5Od8+2oru+ewAkWQc4Bnhf2/5rhoLKdo/2Bl4CrAv8qB1r2M7A04DHj9KuTYB7qmpxp2LvQNefH0vXd3YDrl+E/V8MzAKeAryI7hpD14dPohtJuQHwWYAkawCn0I1IXZ+uH506VN+LgKNbW0b+bgxsS3feOwDvTrJ9VZ0A7Asc2frfk0fZb3b7sy3wd8DqLNxPxvodAfg5MFq9krTcM6iTJEnS8upZwAVVdcvQus9W1bVV9Qe6oOXsqjq/qu4AvkUXaAFQVYdU1S1t2xzgyYNRPc1xVXVG2/5euhFqG7ZtOwEnVNVCzx2rqtOr6qKquqeqLqQLe549oth/VtVtVXUBcAHzQ4c3AO+tqt8PtWvXjJh6mGQ9YEdgz6r6S1VdB3wGmOxU1jnMD9UmY7+qurmqLgEuBk6qqt9U1U10gefm7dyvr6pjquqv7b58ZJRzP7yqLq6qvwDvB16WZKXJNKJd/62B/1dVt1fVPOBg4FXt+OdV1Vlt1OCVwIFDx98JuLSqjq6qO4H9gT8OVf8G4KNV9fOquosubJqZBUdSfrSqbqiq20Zp3trALaOsn6w7gTWAxwFp7bhmEfbfr7Xtd3TnNghP76QLTtdv12wwEu/5wB+r6lNt/S1VdfZQfT+tqm+3fjza+ULXj/9SVRfR9aVXjFFupN2BT7c+dCvwHuDlI/r5WL8j0F3n4d9VSbrPMKiTJEnS8mq0qafXDn2+bZTl1QHaFNGPpZtiejNwZSuzzlD5qwYfWphwA93Io7GOTav7aUlOa9M/b6Ib3bbOiGLDAdFfB+2iC1S+1aZu/plu5NDddKP3hj0KWAW4ZqjsgXSjA8eV5M10o9qe18LAyZjsdX1gkgPblMabgTOAtUcEcVcNff5tO4+R12cs6wM3jAhnfws8sh3/semm2/6xHX/fobrXZ8F7WiPa8ijgv4au5w10U2MfOUbbR7qRLmhbLFX1A7pRZZ8Hrk1yUJI1F6GKkdd10FffRXce5yS5JMlgpN2GdKMKJ1Pfoh5zIuu38sP7rsyC/Xys3xHorvNNkzyWJC1XDOokSZK0vNoJOG4x9/1nuql929ONzJnR1g8/s2wweo4kqwMPAa5uU26fzYJTbof9L/BdYMOqWovueXEZo+xIVwE7VtXaQ39WbSMER5a7A1hnqNyaVTV4zt6obxhtIc27ge2WYIrmeN5BN13xaVW1Jt2oRxjjutJNj70T+NMk678aeEibtjlcx+D6fBG4DNikHX/voWNfw4L3NCPachXwhhHXfrWqGn6z73hvbv1lq/aR45QZV1X9d1VtATyBbgrs4M28fwEeOFT04aPsPvK6Xt3q/GNV/VtVrU83avALSR5Dd74bj9ecSTR51GNOYt+r6YLR4X3vYsEAeDx/TzfKTpLucwzqJEmStNxJ8mjgAVV12WJWsQZd0HU9XQCy7yhldkqydXtJwD5002ivonu224VVdfM4dd9QVbcn2ZIuFJysA4CPDKZbJlk3yYtGFmpTIk8CPpVkzfZw/o2TDKZ5XgtskAVfpLB7O8/nVNVvFqFNi2INuhF2f073kogPjlLmlUken+SBwIeAo6vq7slU3q7/mcBHk6yaZDO6N6oOnqG2BnAzcGuSxwFvGtr9OOAJSV7Spli+lQUDrwOA96S9VCTdyzpeOrnThjad9hSGpvqmsyoweNnGqkkeMNr+SZ7aRmOuQhfM3U43mhK6ZyS+pI1YfAyjv0X2nele5rEh8DbgyFbvSzP/hR430oVodwPHAg9PsmeSByRZI8nTJnu+zftbm54A/MvgmHT9b0baCy1G8XXg7Uke3ULwwTPt7prkcZ9NN+Vaku5zDOokSZK0PHoeY0w9naSv0E23+wNwKXDWKGX+ly5ouoHuRQq7t/VjTntt9gA+lOQW4APAUYvQrv+iG413Utv/LLqXF4zm1XQB0KV0AczRwCPath/QvSjij0kGo9U+DDwUOLe9jfPWJAcsQtsmY39gNboRcmfRvahgpMOBQ+mmNq7Kgi/4mIxX0I2AvJruuYMfrKrB6Ma96ILRW4AvMT84oqr+BLwU+BhdQLsJ8JOh7d8C9gOOaNNmL6Z7DuCiOJD2vLzmUXTB5eClHbcBl4+x75qtzTfS9c3rgU+2bZ8B/kYXgB3G6C93+A5wHl2odxzw5bb+qcDZSW6l61tvq6or2vTh59C9dOWPdCMCt12Ec4XuDbe/onsJxSer6qS2/hvt5/VJfjbKfofQ9YMzgCvoQsm3TOaALfjcie46SNJ9TkZ5/q0kSZLUa0m+D3yuqpYkrBuv/kOB31fV+0bZdimwa1VdOh3Hvi9Lcjrw1ao6eFm3Zbok+THwlqoa7Y3A9wlJZtAFbKsswii4qTr2W+imlb9raR5XkpaWlScuIkmSJPXO6cBpS/ugbSrpVwzpNJaq2npZt+G+rKo+u6zbIEnTyamvkiRJWu5U1cer6rZlcNy/VdXHlvZxp1OSZw5NhV3gz1Jsw+5jtOGSifeWJOm+w6mvkiRJkiRJUg84ok6SJEmSJEn
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABY8AAAFNCAYAAABIY5DaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde7xt9bz/8ddbRVGKSpTLdr+WsOUgKZwOjjhOKeSyHffL8ePIOTgukZP74bjkEpUTknKvEJJSUrvauiCXFCoUhUgn9fn98f2u9thrzrn2ba29dvV6Ph7rseYc4zvG+Izx/Y659v7Mz/zOVBWSJEmSJEmSJA3daL4DkCRJkiRJkiStfUweS5IkSZIkSZJGmDyWJEmSJEmSJI0weSxJkiRJkiRJGmHyWJIkSZIkSZI0wuSxJEmSJEmSJGmEyWNJkiRJcyrJjkl+tQaOc/sklydZZ66PtQKxfCXJM1dj+w8led1sxrSSxz82yXPWwHHm9TxXRZKDkrx5vuOYDUlek+Sjc3yMa69XkoclOWcujzc47uZJzkmy/po4Xj/mmnqtW93Xl8uT3Gk2Y5q2/8cn+fRc7V/SmmXyWJIkSdIqSbLlmkiUrKiq+kVVbVhVV8/WPpMcnWTnVYjlMVX18VU9blW9oKr2WdXtrytm+zyTPCTJibO1v+u7qtq3qub8TYLB8Y6vqruvocO9Cjiwqv4KkOSdSX6S5E9JfpTkGWsojlm3Mq8v494I6q+T585NdFBVXwLuk2SbuTqGpDXH5LEkSZKkVfVY4KvzHcRcSXIz4AHAt+c7Fq2wxwJHzXcQWnOSrDtm2U2AZwKfGCz+M7ALsHFf9z9JHrJGgpwlaa4reZxDgOfNdxCSVt915UVHkiRJ0trn2kRdkvOSvDrJD5JcmuTASR8XT/KqJD/rFYA/SPLEwbpFSb7TqwQvTfLzJI8ZrD82yT5JTujbH51ks75uQZKaSibN1Lavf0aS85P8Lsnr+jk8ahDqI4ETqurKJHsnOSzJJ/q+zkxyt37Ov03yy2GF8rDaL8ldknw7yR+SXJLk0L48Sd7dt/9DkjOS3KevW2ZqhCTPTfLTJL9P8qUkWw7WVZIX9KrKS5N8IElm6rh+nU9I8r5+7B8leeSEtndOcky/Tpck+WSSTQbrz0uyV4//D0kOner79I/xJ3lFP8+LkjxrsO1wSoPltd00yZeT/DHJKUnenOQ708Idjsmd06Yt+EOS/XofTPXJjZK8tvf/b5P8b5KNB8c6LMmv+7bHJbn3TNdzzDWbOpfX9Gt2XpI9B+s37se8uMfw2vSk4KTx0tfdI8nX+zg4J8nuy4nj7/p5rDNY9sQkZ/THeyf5RH+8fh/fv0tyWb/GW/R1y9wbw+1W5nplMK1Dkj3Spk+Y+rkyybF93U3SXgN+keQ3adObbDDt2v5Hkl8DB4451IOAy6rq2k9GVNUbqupHVXVNVX0POB548IQ4N0tyRL8Ov09y/KB/KsldBm1HpjGZod8fm/aa96ckFyTZa7DuCUmW9PH9sySP7suPTfJfSU4A/gLcKcu+vky8l5P8F/Aw4P39Gr9/+jksZywu7/V4UZJz+/n8fHiuwLHAP467vpKuW0weS5IkSVppSdYDdgC+Pli8J/APwJ2BuwGvnbD5z2gJjY2BNwKfSHKbwfoHAecAmwFvBz6WLJMMfSrwLOBWwI2BvZhsbNsk9wL26zHfpsey1bRtHwscOXi+C3AwcAvgdOBrtP9TbQW8CfjwhBj2AY7u290WeF9fvjPtGt4N2ATYA/jd9I2TPAJ4C7B7j/V8YPp8oo8DHgjct7f7hwmxDD0IOJd2nd8AfC7JLce0Sz/+lsA9gdsBe09rszvwaOCOwDbAosG6W7P0+j4b+ECSW0yIaaa2H6BVj96aVjm6zJyvfQxtAZye9ibB4cCrgU1p42lYZbqo/+wE3AnYEHj/YP1XgLvSxs1pwCcnxDuTW9Ou7VY91o8kmZqy4X39PO8EPBx4Bm2cwoTxklYJ/3XgUz2upwD7TUrUAlTVSbRr9ojB4qf2fUz3zB7T7WjX7AXAFSt4rit9varq0D59woa0sXUurVoV4G20+2Jb4C60a/j6wea3Bm4J3IHx1a1b0/p8rJ6IfiBw9oQmrwB+BWxOG1OvAWp55zSIbVK/fwx4flVtBNwHOKbHsx3wv8Araa8FOwDnDfb5dNp5bkS7/6cbey9X1X/SkuQv6df6JWO2nWksTu175PW4j8f3Ao/p5/MQYMlgux8CC5LcfPKlknRdYPJYkiRJ0qrYAfh+Vf1psOz9VfXLqvo98F+05NaIqjqsqi7sFYCHAj8Bths0Ob+q9u9zF3+cljDdYrD+wKr6cVVdAXyGlmCaZFLb3YAvV9V3qur/aImp6cmhx7DsFAjHV9XXqupvwGG0xNJbq+oqWjJ3QQYVuQNX0ZJcW1bVX6vqO4PlGwH3AFJVP6yqi8ZsvydwQFWdVlVX0hKiD06yYNDmrVV1WVX9AvjWcq7JlN8C76mqq3o/nMOYSsGq+mlVfb2qrqyqi4H/piWZht7b+/T3wJenHf8q4E39OEcBlwOT5r0d27ZXzu4KvKGq/lJVP6CNjaHHAl+tquqPz66qz/X+ei/w60HbPYH/rqpzq+py2jV9cnrVelUdUFV/6td7b+C+GVQmr4TX9ev2bdobEbv3c9kDeHU/xnnAu2gJwqlrMG68PA44r6oOrKq/VdVpwGdpY3kmh9DvxSQb9WtzyJh2V9GSxnepqqur6tSq+uOKnOTqXK9e5fop4Niq+nB/o+i5wMur6vf9NWZf4MmDza6hjYUr+7093SbAn8Ysn/Ih4Pu0N4DGuYr2unOHPhaP7+NqRY30+2C/90py86q6tPchtDdKDuj32TVVdUFV/Wiwv4Oq6uze71eNOd4K3cvTrcBYhJlfj6+hzW28QVVdVFXDZPzU9R/3mijpOsTksSRJkqRVMW5u2V8OHp9PqyYckTZdxJL+kfDLaBV4mw2aXJvkq6q/9IcbjltP+xj3cN10k9puOYy3H+faqt8kWwN/rKrhOf1m8PgK4JJa+uV8UwmscbH8O6169+QkZyf5l37MY2jVrh8AfpPkIxOq9LZkUG3Yk52/Y9lK6ZW5JlMumJYQG9tnSW6V5NP9Y/Z/pM0ju9m0ZjMd/3c9gbsi8U1quzmwLsuOseFjWHZMTu/folWSMlg/rOA8v+9/iyTrJHlrnzrgjyytAJ1+zstzaVX9edoxtuz7ufGY40/159jxQksoP2jqvun3zp60SteZfAr457R5gP8ZOK2qxlWvHkxLpn46yYVJ3t4/YTCjWbhe/0V7E+Wl/fnmwE2BUwfn+dW+fMrF1b8Ib4JL+z7HxfsO2mvO7jMkhN8B/BQ4uk/L8KoVPBeY3O/Q3gB5LHB+2tQkU9Nm3I72iYxJpo/16VboXh5jeWMRJrwe93Pcg1ahflGSI5PcY7Dd1PW/bAXikLQWM3ksSZIkaVVMn9IBWgJkyu2BC6dvlOQOwP7AS4BNq2oT4CxasmxNuog2JcBUXBvQqi6njDu/VVJVv66q51bVlsDzaVMN3KWve29VPQC4N+1j+q8cs4sLaYnDqVhv1mO9YDVD22radCBj+4w2ZUUB21TVzYGnseb762Lgbwz6jMF460nOh7N0GpXp/Ztp2y5zTWnn/jfaGwRPBZ4APIr2cf4FU7tZyZhv0ftqeIwLgUtYWl08XHcBzDhefgl8u6o2GfxsWFUvnCmIXqV9Pq2SftKUFfSq1TdW1b1oUxA8jjaFAbSpL246aD5MWK/y9UryZFpV9G6DitpLaG/G3HtwnhtXm97i2nCXs+szaPfT9OO9kXYddp6pqrpX4b6iqu5Em67m37J0TvC/MPlawOR+p6pOqaon0Kb3+ALt0xDQ+vbOM5zP8s53pnt5pm1nHIvLU+2TGH9Pq0b+Ee21fco9aZXyK1S9LmntZfJYkiRJ0kpJckfgJtM+Vg3w4iS37fPmvgY4dHRrbkZLZlzc9/UsWhXgmnY4sEuShyS5MW3u5WHy5R8ZraxeJUmelGQqcXkp7fyvTvLAJA/qic8/A38
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABOoAAAFNCAYAAAC+I4AuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde7xu5bz//9c7oVIKFVJLck4qtYgiUhvl2NZPKFtOOduRY07p5ExftqRCKJJibx10opxSrM6SHMJGqFRUYnf4/P64rtm6173mnGuu1pxr3qv1ej4e6zHvMcY1xnWN6x73zf3uusZIVSFJkiRJkiRpdq0w2w2QJEmSJEmSZFAnSZIkSZIkjQSDOkmSJEmSJGkEGNRJkiRJkiRJI8CgTpIkSZIkSRoBBnWSJEmSJEnSCDCokyRJ0oxIsneSI2a7HeNJ8tAk5yW5LskbZrEdhyfZr79+QpJLZ6stSyrJLklOmaFj39ZPoyjJq5P8Jcn1Se41zcceyc9Rkvcn2WMp13lGkpfPcB1L9DlMsleSw6azTePU8eMkj5jJOiTNHoM6SZKkZVCSdZL8YQaPPyPhQJIXJvlykvWTVJIVp7uOKXorcEZVrVZVn5ilNiygqr5fVQ9dVLlRDW6q6siqespst2NpS3Jn4GPAU6pq1ar6a5LfJrmxB3fXDwaYSZ6e5AdJrk3y5ySHJlntdtT74v4ZmlJwleT0JFcm+XuSC5I8e2j7C5P8LskNSf47yT0nOdZawH8An+nLGyaZl+Sa/u+0JBsu7jmNgql+DgGSPGn4e7iqDqiqGQ0TgY8A+8xwHZJmiUGdJEnSsmkH4KTZqjzN7fn/kjsAJ06xjpkM8e4PXHx7dpzFcHHWLc/nPol7Ayux8PX0zB7crToUYK4O7AesAzwcWBf48OJUmOQewDvGqXMy/wnct6ruDuwOHJHkvv14j6CFbi/q5/MP4KBJjrUbcGJV3diXLwd2Au4JrAl8EzhqMdo2Epah6/ubwDZj75+kOxaDOkmSpGXTbYFXkvWSfL2Plvlrkv/q61dI8q4+SuaKJF9MsnrfNjai7cVJ/jfJVUne2bc9DdgL2LmPBrqgrz8jyf5Jfkj7Ib9BH9n3zSRXJ/lVkldM1OAe7P0bLWD8Xl99ba/jcUl2S/LDJB9PcjWwd5IHJvlOP6+rkhyZZI2BY/42yZuTXJjkb0m+mmSlvm3NJMf3kUtXJ/l+75PvANsA/9XrfkiS1Xv/XNn7611jQeQE7Rpcd22Sy5Js2df/vvf3ixfnDR0enZPkbUn+mDY999Ik207y3qye5LNJ/tT32S/JnQba/4MkH+mjnX6TZPuBeha17wLnPkn7d0vyg4HlSvKaJL/s57Bvfz9/lDaq6+gkdxk897Rpg1f193WXxey/e/T3+8p+nscnWXdg+0uSXNLbclmSVy7pvkkeAoxNk7y2X1uTqqovV9VJVfWPqroGOBTYaqCuByT5bq/rVFrwNez9wCeAq4b64E69D3/d9z8nyXq93gur6uaxZgB3Btbry7sAx1XV96rqeuDdwL9n4pF+2wPfHTina6vqt1VVQIBbgAdN1Af9Wrmst/E3Y+91hkaLZvyRtw9Mm/r5tyT/kz7yL8lKSY5I+664NslPkty7b7tnks8nuby/v//d149dd29L8mfg8+N8Dn+b5B1Jftb3/Xyv627At4B1Mn/k5DrjnMOzklzc23RGkocPHXuxvr96f/8TOAdY7kawSssDgzpJkqRlTNpUu62BU3ugcjzwO2B94H7MH8myW/+3DbABsCrwX0OHezzwUGBb4D1JHl5VJwEHAF/to4E2GSj/ItponNV6nV8B/kAbHbQTcECSbSdo+mOAy6rqqt5+gDV6HT/qy1sAlwFrA/vTfvS/n/mjj9Zj4bDoecDTgAcAG/dzBtizt20t2iihvYCqqicD3wde1+v+BfBJ2kinDYAn0qb1vWSgjuF2ja27ELgX8GVavz+aFlDsSgsCV52gLyaV5KHA64BHV9VqwFOB307y3nwBuLnX/SjaD/jB6Xdb0AKlNYEPAZ9NksXYd/jcp+ppwObAY2nTjQ+hhULrARsBLxgoe5/evvsBLwYO6f0wVSsAn6eNlpwD3MiC1/sVwDOAu9Pe248n2WxJ9u3Xzti9wtbo19aYI3vwd0qSwc/QsK1ZcGTcl2khzJrAvrS+uE2SxwBzgYPHOdabaH26Q2/rS2mh+ti+xyf5J3A2cAYwr296BHDBWLmq+jXwf8BDJmjzI5kfUA627Vrgn7TP0wHj7dgDrk8A2/dre0vg/AnqGc9/9PNah3bdjk1dfzHtM7we7TP5Ktr7CPAlYBXaea4NfHzgePehjQS8P+27bTy70D6DD6T1ybuq6gZaYHn5wMjJy4fO9SG078g9aN9DJwLHjQXU3WJ9fw3sdwkw2XUlaRllUCdJkrTs2Rq4oKquo4Vf6wBvqaobquqfVTU2qmkX4GNVdVkfJfMO4PlDo1PeV1U3VtUFtB/qi/rhd3hVXdxH5tyHFvS9rdd7PnAYLcwbz9NZ9LTXy6vqk1V1c2/Xr6rq1Kr6V1VdSbsX2BOH9vlEVV1eVVcDxwGb9vU3AfcF7l9VN/V7T9XQvvSwc2fgHVV1XVX9Fvjo0Hks0K6+7jdV9fmqugX4Ki0g2Ke39RRa0DHhqKJFuAW4K7Bhkjv30Uq/Hq9gHzW0PbBHvwauoAURzx8o9ruqOrS39Qu9X+49xX3HO/ep+mBV/b2qLgZ+CpzSr8e/0UYjPWqo/Lt7/30XOIEWYkxJVf21qo7tI9Wuo4WKTxzYfkJV/bqa7wKnAE9Y0n0nsAstOL8/cDpwcgZGgo5J8m+0gOk9fXkOLewd64fv0a7psfJ3ok1JfX1V3TpOvS+nhUiX9rZeUFV/HTiPZ9BC9h2AkweOsSrwt6Fj/a2XHc8awHXDK6tqDVpY9jrgvAn2BbgV2CjJylX1p359TNWXquqnPSh7N/C83i830QK6B1XVLVV1TlX9PW166PbAq6rqmv5d8N2B490KvLf390TX939V1e/7d8z+LBgwT2Zn4IT+HXYT7d5yK9PCyTG39/vrOtr7IOkOxqBOkiRp2TN4n7f1aCHMzeOUW4c26m3M74AVaaMzxvx54PU/aD/YJ/P7oeNf3YONwTruN4V2T+X4JFk7yVFpUzL/DhzBwlMBJzqHDwO/Ak7p0+zePkGdawJ3YeG+GjyPBdrV/WXg9Y0AVTW87naNqKuqX9FG4ewNXNH7YJ0Jit+fNo3xT32a3LW0+42tPVDmtj6qqrERVqtOcd/xzn2qhvtjsv65pocvY35Hu8amJMkqST6TNnX577Tp1Wtk/jTe7ZOc1acRXku7Htdc0n3HU1U/7EHzP6rq/cC1DAV7SR5LGz23U7WRefTzHa8fxrwGuLDmj0Adth4wbqA70LabqupbwFOTPKuvvp42Am/Q3RknjOuuYYIQr7f9YOCLSdaeYPvOtBFvf0pyQpKHTdbmIYPX4+9o1++atFFzJwNH9SmuH+qjj9ejfU9dM8Hxrqw2lXRx6pzqdbnAd3APRn/Pgt8tt/f7azXadSXpDsagTpIkadmzA220EbQffXMy/k3QL6cFMWPm0KaK/WWcssMWGnk2zvrLgXtmwftYzQH+OLxTkvvQRoecuxjHhzbttYCNq90Ef1fadNhF6qPj9qyqDYBnAm+aYFruVbTRK8N9NXgeE7V3xlS7l9njae0q4IMTtOX3wL+ANatqjf7v7lX1CBZtKvsurXO/R58WOWYO7Rqbqj1p07i36NfK2PTqJLkrcCxtRNO9+8ivE5l/LS3JvlMxdu+2sYM+ivZAgJdW1bcHyv2J8fthzLbAjmlPi/0zbWTWR9PvS0l7Px84xTatOFD2YgZG0ybZgDai8xfj7AdtyvdE02Kh/c5chQlC+6o6uar+jfad8HPaffoAbuj7jbnPOLuvN/B6Du2ze1UPIN9XVRvS+uUZtGmyv6d9T000+mwq1/dwnWPX5aL2XeA7uE83X49xviMXatSiv78ezsB0ZUl3HAZ1kiRJy5AkDwDuWlU/76t+TPtx/4Ekd+s3OR+
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABOoAAAFNCAYAAAC+I4AuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde7xv1bz/8ddboVKKFJJ03CWV2hUht34ol3R0CuWIyK3juB9yS4XcOw5JQo5KJddSSYhDitKuhDjuKZIuKnGSz++PMVb7u797fddae++19vpmv56Px3qs73fOMeccY8wx51rfz3eMMVNVSJIkSZIkSZpft5rvDEiSJEmSJEkyUCdJkiRJkiSNBQN1kiRJkiRJ0hgwUCdJkiRJkiSNAQN1kiRJkiRJ0hgwUCdJkiRJkiSNAQN1kiTNoySPSnLJCjjORkmuS7LKXB9r3KyIsif5ZZId5mr/A8c5Jcmz52C/GyepJKvO9r6XVc/PvadYf1iSN85gP3N2/pPsn+SoFb3tNPt9RJKLZ3u/MzjulOdrFo9zUZJHzfVxVrQkD0vy095WnzqP+TgjyfP66z2SnDZfeVleSfZLcsQc7fvmepom3UFJrkjyu/5+lyS/6ef5wUnul+S8JNcmeWmS1ZOcmOSaJJ+ei7zPtZnWzVLs73FJPj9b+5vhMefk/jzJca5Lcs9l3HbO7/VJ3pvkhXN5DE3OQJ0kSXMgyQYrIgA3U1X166pas6pumq19JjktyeNma39zZS7KPl+qaseq+sRs7S/JM5McM1v7W5Gq6oVVdeAM0q1Ubb+q/qeq7jff+ZgrVfXAqjpjtvbXgzlvW1FfmkzhAOADva2u0KDEKFV1dFVN286THJnkoBWRp6VRVW+rqlkLGC2tJHcHXglsUlV36YvfDezbz/N5wGuAM6pqrap6P7ArcGdg3ar6lyRPTPKtJFcn+V2SjyRZa+AYt03ysSR/6utfMZSHLZKcm+TP/fcWS5H/f0/yiyTXJ/lRkvsOrFsvyTE9X1clOXop9ru0eXobcPDA9l9P8ode5vOT7DzTY4+b3g5+PpO0w1+GrKB7/buA1ye5zRwfR0MM1EmSNDd2Ak6d70zMlSS3A7YCvjHfeZnKOPUQG1M7ASfPdyaW1nz2DL2ltP1lsTL2uGUproE5vp/cA7hoWTZcme9zY172ewB/rKrLh5ZdNM37n1TV3/r7tYGDgA2ABwAb0oInE/YH7tO3ezTwmiRPAOjBlS8ARwF3AD4BfGEmQZfeI25v4InAmsCTgCsGknwW+F0/7vq0AOS0ljZPSbYG1q6qswYW/ztw16q6PbAPcFSSu87k+ONizNvtzarqMuDHwFPmOy8rGwN1kiTNjZs//KUNi3xdkh/2b54/nmS1yTZK8tokP+vDYH6YZJeBdXv1b9bf3ffziyQ7Dqw/I8mBSb7dtz8tyZ36usWGNk6Vtq//1yS/SvLHJG/MkkM7Hwt8u6r+mmSbJOf0b7d/n+S9A/t5eJIz+7fuv0myV19+216OX/dtDkuyel/3qCSXJHllksuTXJbkOQP7fGLaUKE/9X3uP7Buopx7J/k18LVJyr5Bki8muTLJ/yZ5/nQnM20YzAlJjuv19f0km49Iu02S7/QyX5bkA4MfQnpeXpg2zO2qJB9MkqU4x8+bYdp/SvLNnt/T+3GOGlh/K+D/MUlAOclz0npQXJvk50leMLBuuvMz8txOU8ev7vu6NMlzh9YdmeRDSU5Ocj3w6Az04ul5fdJA+lXThpttOcn5n7W239+vNqpd9Lb2mbTeH79I8tKhYt8myX/3bS9KsmBg20nvBb1+r06y6UDa9ZLckGT9DPUMS/KAXuar+zGeMrBuiXqd4vwc2c/lV3qevpHkHiPSzuQafXZvI1ckef3A+v2THD9Fvdx8PmaQdsssGlb46X6eDhpYfwfgvsB5wCnABmlD0a7r527iuj8qyZ+AvbJ81/e9e71d08t9XF/+M+CewIn92LfNFPepEfnav5fxqF7eC5PcN+1vz+X9PCxVL9D0e0x/nSTv6/u6JskFSTZNsg+wBy1AdF2SE3v6kW1/Budtum0XK/sU+b95+OJAu3tOr4ur+nnaupfl6iQfGCr7t5P8Vy/vj5M8dinqbgfgKyxqU59Kch2wCnB+2rX9Ndo194GJNMCbgN37+72r6piqOrWq/lxVVwEfAR42cKh/BQ6sqquq6kd9/USdPApYFTikqv7ae+wFeEzP4yppPUon7jPnJrl72t+GNwMvr6ofVvOzqrqyb/c44O7Aq6vqmqq6sfcOHHSvJN/tdfeFJHecSZ4msSNDX4pU1QUDgcwCbt3zM9l5mPT/k0zSgzZL3uunurf/R5Lf9nUXT7SNUXXa11WSlyT5KfDTgWX37q9H3mOTfLMf+vzeNnYfLkOmv9d/MMmX+r7PTnKvvm7Sa3ugHs6gBWy1AhmokyRpliW5NbA97Z/0CXsAjwfuRftg+IYRm/8MeATtW/S3sOQ3xdsCFwN3At4JfDRpHwK7ZwLPoX3DfRvgVVNkddK0STYBDu15vmvPy92Gtt0J+FJ//Z/Af/Zvt+8FHN/3sxHtw+9/AesBWwAL+zbv6PWwBXDvvv83Dez/LgPH3Rv4YNqHaoDraR9O1qH98/iiLDmn0yNpvQ8eP0m5PwVcQuuhsCvwthl+ANsZ+DRwR+AY4PP9XA+7CXg57Rw9lBbYefFQmicBWwObA7sN5XO6c8wM0x4DfBdYl9br4llD224D/LyqrmBJl/c83p7WRt6XZMuB9VOdn+nO7RLSeoC8ihY4vA8w2Xx/zwTeCqwFfGto3aeAZwy8fzxwRVV9f8QhZ6vtw4h20T/sngic3/fxWOBlSQbP9VOAY2lt+YvABwbWTXov6AHCzw6VdzfgG0M9dybuRScCp/Wy/htwdJLB4VJT1euwPYADae1tITBquNtMrtGHA/ej1cubkjxgYN1U9TJs0rRpwbPPAUfSzs2ngF2Gtn088NWqup4WELi0D0Vbs6ou7Wl2Bk7o+z+a5bu+D6SdizvQekb9F0BV3Qv4NfDkfuy/Mv19ajhfAE8GPtn3fx7wZdrnvbvRhtZ+eIp6nM7jaH/X7tuPuTutt9jh/fjv7Hl/8vK0/RluO1nZZ2pb2j1md+AQ4PW0+80Dgd2SPHIo7c9p5/rNwGcHAk5TqqrTWbxNPaOq1uyrN6+qe1XVY4D/YdFQ2GfQhnke199/dJJdb0/vgdfvuRvQ6mrC+b0s9N8XVFUNrL9gYP0raPeRnWj3+ucCf6a1zQ2BTdOCmr9I8pZ+bgAeQvu784m0LzS+N1Rv0K7/5/b8/Q14/wzzNOxB/ViLSXJSkr8AZ9MCSeeM2H7S/09maNS9/X7AvsDWVbUW7fr+Zd9mVJ1OeCqtXW0y4piT3mOravu+fvPeNo4b3GiG9/pn0P6W3AH4X9p9H0Zc2wPb/Yh2L9MKZKBOkqTZtz1wflVdO7DsA1X1m/6N9FtZ/EP2zarq01V1aVX9vf8j9lNaQGXCr6rqI32+rU/Qggl3Hlj/8ar6SVXdQPuHdKq5X0al3RU4saq+VVX/Rwuy1NC2O7JouNiNwL2T3KmqrhsYorIHcHpVfap/4/7HqlrYA0nPp31bf2Wvp7cBTx/Y/43AAX27k4HraB/qqaozqurCXkcX0D7QDn9I2L+qru9lu1n/ZvvhwH9U1V+qaiFwBEsGsSZzblWdUFU3Au8FVqN9YFlMVZ1bVWdV1d+q6pe0D8fD+Tu4qq6uql8DX2fx8zTdOWa6tD1IujXwpqr6v6r6Fu3D8KAnMmLIX1V9qfegqKr6Bu2f/0cMJJn0/Mzw3E5mN1p7/EEPmuw/SZovVNW3+3n/y9C6Y4CnJFmjv39mXzbKbLV9GN0utgbWq6oD+jn4Oa23y2BdfKuqTu7n75MMfBia5l5wDIvfQ0aV9yG0YWsH9zx8DThpaNup6nXYl6rqmz2Q9HrgoRO9RQbN8Bp9S1XdUFXn04ILgx8ER9bLJEalfQit5877ezv9LC1wPWjkNTDgO1X1+V6WG5bz+r6RNlRwg37/mTQwOsP71GL56sv+p6q
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABOoAAAFNCAYAAAC+I4AuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde/xu5Zz/8debhkopVEiaxqlxLLUrciZSDk2jKeSQU2jil3EYMhLlbGgMSRgZSiXHUkmIIaG0K0WMckiRKCppks/vj+v6tu997/v+fr977+93f+/s1/Px2I9932tda63ruta11vden3Vda6WqkCRJkiRJkrSwbrHQGZAkSZIkSZJkoE6SJEmSJEmaCAbqJEmSJEmSpAlgoE6SJEmSJEmaAAbqJEmSJEmSpAlgoE6SJEmSJEmaAAbqJElaIEkemeSSVbCdTZNck+SW872tSbMqyp7kp0l2mK/1D2znpCTPnof1bpakkqwx1+teUT0/95hm/mFJXjeL9czb/k9yYJKPr+plZ1jvw5JcONfrncV2p91fc7id85M8cr63s6oleUiSH/e2+g8LmI/Tkjy/f94zySkLlZeVlWT/JB+ap3XfVE8zpDs4yRVJftW/75rkF30/PzDJ5knOTnJ1kpcmWSvJ8Ul+n+ST85H3m6Mk90ly5ire5l5JvrEKtrPC57RV9PvmpUneOl/r13gG6iRJmmNJNl4VAbjZqqqfV9U6VXXjXK0zySlJHjdX65sv81H2hVJVO1XVR+dqfUmenuSouVrfqlRVL6qqg2aRbrVq+1X1P1W1+ULnY75U1X2r6rS5Wl8P5rx5Vd00mcYbgff2tvrZBczHTarqyKqasZ0nOSLJwasiT8ujqt5cVTMG0+ZLkrsCLwfuU1V36pPfCezb9/PZwKuA06pq3ap6D7AbcEfgDlX1T0mekOQbSa5K8qskH0yy7oht3T7Jb4YDSz2Afm0P5lwzGLhMcusk705yaZIrkxya5G8G5m+W5MQ+71dJ3jt4MyfJ2n2ZK3pg8esD816Z5Ps9AHlxklcO5WvLJP/Tl7skyQEzVOdBve6mlv94ksuS/CHJj2YTNJ1Uy3NOG74puIp+3xwOPCPJRvO4DY1goE6SpLm3M3DyQmdiviS5DbA18LWFzst0JqmH2ITaGThxoTOxvOaz98Astn2zaPsrYiHrdQHN+hiY5/PJ3wLnr8iCq/N5bsLL/rfAb6vq8qFp58/w/UdV9ef+fT3gYGBj4N7AJsA7RmzrbcAPxuRjix7MWWcocPlqYBFwP+BewFbAvw3MPxS4HLgzsCXwCGCfgfmHA7fv+bo98LKBeQGeBdwOeDywb5KnDsw/Cvh6X+4RwIuTPHlU5pPcGXgUMBjAfguwWVXdFngycHCSrceUfyJNeNu9SVX9CTiJtj+1ChmokyRp7t108dfvgL4myQX9zvRHkqw5aqEkr07yk34X+oIkuw7M26vfWX9nX8/FSXYamH9akoOSfLMvf0qSDfq8pYY2Tpe2z39Wkp8l+W2S1w3fxQUeA3yzqq5Psm2SM/ud7V8nedfAeh6a5PTeG+AXSfbq02/dy/HzvsxhSdbq8x7Z77C/PMnl/a75cwbW+YS0oUJ/6Os8cGDeVDmfl+TnwFdGlH3jJJ9P8rsk/5vkBTPtzLRhisclOabX1/eSbDEm7bZJvtXLfFnvhXCrgfmV5EVpw9yuTPK+JFmOffz8Wab9uyRf7/k9tW/n4wPzbwE8lhEB5STPSfKDvuxFSV44MG+m/TN2385Qx6/s67o0yXOH5h2R5P1pvTuuBR6VgV48Pa9PHEi/Rlovj61G7P85a/v9+5rj2kVva59K6+lycZKXDhX7Vkn+uy97fpJFA8uOPBf0+r0qyf0G0m6Y5LokG2WoZ1iSe/cyX9W38eSBecvU6zT754i+L7/U8/S1JH87Ju1sjtFn9zZyRZLXDsw/MMmx09TLTftjFmm3ypJhhZ/s++nggfm3owUozqZdiG6cJT2PNs6S4/7jSf4A7JWVO77v0evt973cx/TpPwHuBhzft33rTHOeGpOvA3sZP97Le16Se6X97bm874fl6gWagaF/ad7d1/X7JOcmuV+SvYE9gVf1vB/f049t+7PYbzMtu1TZp8n/gennvIF295xeF1f2/bRNL8tVSd47VPZvJvnPXt4fJnnMctTdDsCXWNKmPpHkGuCWwDlpx/ZXaMfce6fSAAcAe/Tvz6uqo6rq5Kr6Y1VdCXwQeMjQth5MC7Z9ZLb5654EvKeqfldVvwHeAwyee/8OOLaq/lRVv6L9rbhv3+bmtADZ3lX1m6q6sarOmlqwqt5eVd+rqj9X1YXA54byvRlwZF/uJ8A3ptY9wmOB7/WA0dT6zx84B1f/d/dRC09z3C31t6FPu+lv7JJJo9tAbyMXZUmvwT0H5r0gS/6GXpBkqz79p0n+Ncm5wLVpf6uGz2kjf2sk+RiwKUvOE68aLsMszhvTHXf/muSXfd6FQ+39NOAJY/aP5omBOkmS5lDa0JGH036kT9kT2JH2Q/JeLH3XetBPgIfR7qK/Afh42t3kKdsBFwIbAG8HPpy0i8Du6cBzgI2AWwGvmCarI9MmuQ/tTvqetDvp6wF3GVp2Z+AL/fN/AP/R72zfHTi2r2dT2sXvfwIb0u7IL+7LvK3Xw5bAPfr6B4e+3Glgu88D3pd2UQ1wLe3O7vq0H44vzrLPdHoE7S7/jiPK/QngEloPhd2AN8/yAmwX4JO0HgBHAZ/NwDChATfSehZsADyYFtjZZyjNE4FtgC2A3YfyOdM+ZpZpjwK+A9wBOBB45tCy2wIXVdUVI9Z7ec/jbWlt5N1TFxrddPtnpn27jCSPp7W/xwL3BEY97+/pwJuAdWkXdYM+ATxt4PuOwBVV9b0xm5yrtg9j2kVaIPR44Jy+jscA+yUZ3NdPBo6mteXPA+8dmDfyXNAvTj89VN7dga8N9dyZOhcdD5zSy/oS4Mh+kT1YF+PqddietCFoG9CO5SPHpJvNMfpQYHNavRyQ5N4D86arl2Ej06YFzz4DHEHbN58Adh1adkfgy1V1LbATcOlAz6NLe5pdgOP6+o9k5Y7vg2j74na0nlH/CVBVdwd+Djypb/t6Zj5PDecLWuDlY339ZwNfpF3r3YU2tPYD09TjTB5H+7t2r77NPWi9xQ7v2397z/uTVqbtz3LZUWWfre1o55g9gEOA19LON/cFdk/yiKG0F9H29euBTye5/Ww2UlWnsnSbelpVrdNnb1FVd6+qRwP/w5KhsE8D3gwc079/eMSqH85AD7y0XrDvA/alBatG+Xra0NVPJ9lsYHr6v8HvmyRZr3//D+CpaUNc79LLM3VjZzvgZ8AbevDrvCRPGbXx/jfpYSzdc/AQ4Fn9XLk57Vg6dUz+70/7Oze83kOT/BH4IXAZ43vGjjzuZmlkG0jrWf0eYKeqWhfYnv77Jsk/0f7mPov2N/TJwG8H1vk02nlx/YGek4NG/k2pqmey9Hni7SOWnem8Me6425zWhrbp5dkR+OnAcj+gnc+0ChmokyRpbj0cOKeqrh6Y9t6q+kVV/Y52Ufy0UQtW1Ser6tKq+ktVHQP8mBZQmfKzqvpgfx7JR2nBhDsOzP9IVf2oqq6jBcy2nCaf49LuBhxfVd+oqv+jBVmGLwB2YsmP4huAeyTZoKquqaoz+vQ9gVOr6hNVdUNV/baqFvcf7S8AXtbv5F9NuzgZHBZzA/DGvtyJwDW0i3qq6rSqOq/X0bm0H6aDF1cAB1bVtb1sN0l7ZtBDgX/tvQQWAx9i2SDWKGdV1XFVdQPwLmBN4EHDiarqrKo6o/ck+Cnt4ng4f2+tqquq6ufAV1l6P820j5kpbQ+SbgMcUFX/V1XfoP0oH/QExlzYVNUXquon1XyNdpHzsIEkI/fPLPftKLvT2uP3e9DkwBFpPldV3+z7/U9D844Cnpxk7f796X3aOHPV9mF8u9gG2LCq3tj3wUW03jCDdfGNqjqx77+PMXAhNMO54CiWPoeMK++DgHVo7e3/quorwAlDy05Xr8O+UFVf74Gk1wIP7sfUUmZ5jL6hqq6
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from matplotlib import cm\n",
"\n",
"fig_dirname = \"fig_pub_use\"\n",
"os.makedirs(fig_dirname, exist_ok=True)\n",
"plt.close('all')\n",
"\n",
"node_filters=[]#\"transform_listener_impl\",]\n",
"\n",
"nodes_filtered = [node for node in nodes.values() if not any(f in node.path for f in node_filters)]\n",
"print(f\"Ignoring {len(nodes.values()) - len(nodes_filtered)} nodes due to filters.\")\n",
"\n",
"common_offset = min(map(lambda cb_inst: cb_inst.timestamp.timestamp(), callback_instances))\n",
"\n",
"zero_color = cm.get_cmap('viridis')(0.0)\n",
"\n",
"for node_i, (node, node_path, node_pub_use_dict) in enumerate(map(lambda node: (node, node.path, pub_use_delays[node.id]), nodes_filtered)):\n",
"\n",
" if not node_pub_use_dict['invocations']:\n",
" print(f\"{node_path:95s} has no invocations, skipping.\")\n",
" continue\n",
"\n",
" if len(node_pub_use_dict['pubs']) == 0:\n",
" print(f\"Skipping {node_path}, no publications\")\n",
" continue\n",
"\n",
" fig = plt.figure(figsize=(15,5))\n",
" ax: plt.Axes = fig.add_subplot()\n",
"\n",
" max_pubs_per_topic = max(len(pubs) for pubs in node_pub_use_dict['pubs'].values())\n",
" topic_names, topic_pubs = (zip(*node_pub_use_dict['pubs'].items()))\n",
"\n",
" vmin = 0; vmax = max_pubs_per_topic\n",
"\n",
" y_labels = []\n",
" current_y = 0\n",
"\n",
" for invoc_i, (cb_obj_id, cb_invocations) in enumerate(node_pub_use_dict['invocations'].items()):\n",
" try:\n",
" cb_obj = callback_objects[cb_obj_id]\n",
" sym = callback_symbols[cb_obj.callback_object].symbol\n",
" sym = util._prettify(sym)\n",
" sym = re.sub(r\"std::shared_ptr<(.*?)>\", r\"\\1*\", sym)\n",
"\n",
" cb_owner = cb_obj.owner\n",
" if isinstance(cb_owner, Timer):\n",
" cb_type = \"T\"\n",
" elif isinstance(cb_owner, SubscriptionObject):\n",
" cb_type = \"S\"\n",
" except KeyError or AttributeError:\n",
" sym = \"UNKNOWN\"\n",
" cb_type = \"U\"\n",
" \n",
" y_labels.append(f\"{sym} {cb_type}\")\n",
" n_markers = len(cb_invocations)\n",
"\n",
" points_x = []; points_y = []\n",
" for time, dur in cb_invocations:\n",
" time = time.timestamp() - common_offset; dur = dur.total_seconds()\n",
" points_x += [time, time+dur, None]\n",
" points_y += [current_y, current_y, 0.0]\n",
" \n",
" ax.plot(points_x,points_y, marker='.', c=zero_color)\n",
" current_y += 1\n",
"\n",
" n_cbs = current_y\n",
"\n",
" for topic_i, (topic_name, pubs) in enumerate(zip(topic_names, topic_pubs)):\n",
" for pub_i, (pub_name, timestamps) in enumerate(pubs.items()):\n",
" n_markers = len(timestamps)\n",
" ax.scatter(np.array(timestamps)*1e-9 - common_offset, (current_y,) * n_markers, marker='.', c=(pub_i,) * n_markers, vmin=vmin, vmax=vmax)\n",
" \n",
" y_labels.append(topic_name)\n",
" current_y += 1\n",
" \n",
" trigger_strs = []\n",
" t = node.timers\n",
" if t:\n",
" n_timers = len(t)\n",
" freqs = map(lambda timer: 1 / (timer.period*1e-9), t)\n",
" trigger_strs.append(f\"{n_timers} timer{'s' if n_timers != 1 else ''}, {'Hz, '.join((f'{freq:.0f}' for freq in freqs))}Hz\")\n",
" if node.subscriptions:\n",
" n_subs = len(node.subscriptions)\n",
" trigger_strs.append(f\"{n_subs} subscription{'s' if n_subs != 1 else ''}\")\n",
"\n",
" ax.set_xlabel(\"Publication / Invocation Timestamp [s]\")\n",
" ax.set_ylabel(\"Topic\")\n",
" ax.set_yticks(range(current_y))\n",
" ax.set_yticklabels(y_labels)\n",
" ax.set_ylim(0 - .1, current_y - 1 + .1)\n",
" ax.set_title(f\"{node_path} ({'; '.join(trigger_strs)})\")\n",
" ax.set_xlim(50, 50.25)\n",
"\n",
" ax.hlines(n_cbs - 0.5, *ax.get_xlim(), linestyles='dashed')\n",
" plt.savefig(os.path.join(fig_dirname, f\"{node_i:06}{node_path}\".replace('/','-')))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"interpreter": {
"hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1"
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}