You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make sure to modify settings for your usage and environment
Make sure to prepare setting files
output/report_{dir_name_of_trace_data} is created
Open index.html to see a report
script_path=<path-to-caret_report>/report/report_analysis # Path to CARET_reportexport component_list_json=./component_list.json # Path to setting fileexport target_path_json=./target_path.json # Path to setting fileexport max_node_depth=20 # The number of depth to search path. Increase it in case path is not foundexport timeout=120 # Timeout[sec] to search path. Increase it in case path is not foundexport draw_all_message_flow=false # Flag to a create message flow graph for a whole time period (this will increase report creation time)export report_store_dir=./output # Path to past report store if existexport relpath_from_report_store_dir=false # Create a link to past reports assuming the current report is created under report_store_direxport note_text_top=./note_text_top.txt # Path to setting fileexport note_text_bottom=./note_text_bottom.txt # Path to setting fileexport start_strip=120 # strip time at the start [sec] for analysisexport end_strip=30 # strip time at the end [sec] for analysisexport sim_time=false # use simulation time (ROS time) or system timeexport is_path_analysis_only=false # (optional) Set true if you want to run path analysis onlyexport is_html_only=false # (optional) Set true if you want to re-generate html filesexport find_valid_duration=false # (optional) Set true so that start_strip is automatically detectedexport duration=0 # (optional) Set a value (second) for duration to calculate end_stripexport trace_data=~/.ros/tracing/session-yyyymmddhhmmss # Path to CARET trace data (CTF file)export sub_trace_data=~/.ros/tracing/session-yyyymmddhhmmss_sub # (optional) Path to CARET trace data recorded in Sub ECU (CTF file)
sh ${script_path}/make_report.sh
Make sure to modify settings for your usage and environment
Make sure to prepare setting files
output/val_{dir_name_of_trace_data} is created
Open index.html to see a report
script_path=<path-to-caret_report>/report/report_validation # Path to CARET_reportexport component_list_json=./component_list.json # Path to setting fileexport target_path_json=./target_path.json # Path to setting fileexport max_node_depth=20 # The number of depth to search path. Increase it in case path is not foundexport timeout=120 # Timeout[sec] to search path. Increase it in case path is not foundexport draw_all_message_flow=false # Flag to a create message flow graph for a whole time period (this will increase report creation time)export report_store_dir=./output # Path to past report store if existexport relpath_from_report_store_dir=false # Create a link to past reports assuming the current report is created under report_store_direxport callback_list_csv=./callback_list.csv # Path to setting fileexport note_text_top=./note_text_top.txt # Path to setting fileexport note_text_bottom=./note_text_bottom.txt # Path to setting fileexport start_strip=120 # strip time at the start [sec] for analysisexport end_strip=30 # strip time at the end [sec] for analysisexport sim_time=false # use simulation time (ROS time) or system timeexport is_path_analysis_only=false # (optional) Set true if you want to run path analysis onlyexport is_html_only=false # (optional) Set true if you want to re-generate html filesexport find_valid_duration=false # (optional) Set true so that start_strip is automatically detectedexport duration=0 # (optional) Set a value (second) for duration to calculate end_stripexport trace_data=~/.ros/tracing/session-yyyymmddhhmmss # Path to CARET trace data (CTF file)export sub_trace_data=~/.ros/tracing/session-yyyymmddhhmmss_sub # (optional) Path to CARET trace data recorded in Sub ECU (CTF file)
sh ${script_path}/make_report.sh
{
# Component name information# Pairs of "component_name" and "regular expression for nodes belonging to the component""component_dict": {
"sensing": "^/sensing",
"localization": "^/localization",
"perception": "^/perception",
"planning": "^/planning",
"control": "^/control",
"system": "^/system",
"vehicle": "(^/vehicle|^/pacmod|^/raw_vehicle_cmd_converter)"
},
# External input topic information# Pairs of "regular expression for topics" and "regular expression for nodes""external_in_topic_list": [
["^/sensing/.*/velodyne_packets", ""],
["^/pacmod/from_can_bus", "^/pacmod/pacmod$"]
],
# External output topic information# Pairs of "regular expression for topics" and "regular expression for nodes""external_out_topic_list": [
["^/pacmod/to_can_bus", "^/pacmod/pacmod$"]
],
# Ignore node list# List of "Regular expression for nodes to be ignored""ignore_list": [
"container"
]
}
note_text_top.txt, note_text_bottom.txt
The html text in the files are added on the top/bottom of the report index page
Scripts using this file
report_analysis
report_validation
target_path.json
Path analysis report will show results for paths described in this JSON file
The script tries to search paths including the described nodes (and topics) in the JSON file
In case the path is not found, the path is not shown in the report
If several paths are found, the path name will be displayed as "{path_name}_0", "{path_name}_1", ... in the report
Scripts using this file
analyze_path
"path"
Node list of the path
Regular expression is supported, but the first and the last entry should not include a regular expression
Intermediate nodes can be omitted, but it may cause searching path failure or increase the time to search path
[node_name, topic_name] can be used instead of node_name
In this case, node whose name is node_name and who publishes or subscribes topic_name will be found
It is useful when two nodes are connected via multiple topics
path_blocks can be used instead of path so that path can be divided
It is useful when the path is complicated and is not found or searching the path takes too many time
The latency in the first/last callback is added to the path
If these parameters are not set, true is used as default
{
# List of topics to be ignored while searching paths"ignore_topic_list": [
"/tf",
"/tf_static"
],
# List of nodes to be ignored while searching paths"ignore_node_list": [
"/_ros2cli_/*",
"/launch_ros_*"
],
# List of path description"target_path_list": [
{
# Name of the path"name": "component_sensing",
# Node list of the path"path": [
"/sensing/lidar/top/velodyne_driver",
"/sensing/lidar/top/velodyne_convert_node",
"/sensing/lidar/top/crop_box_filter_self",
"/sensing/lidar/top/crop_box_filter_mirror",
"/sensing/lidar/top/distortion_corrector_node",
"/sensing/lidar/top/ring_outlier_filter",
"/sensing/lidar/concatenate_data"
],
"include_first_callback": false,
"include_last_callback": true
}
]
}
This script finds the duration from all the path begin to min(specified_duration, data end)
The result is written to start_strip.txt and end_strip.txt
script_path=<path-to-caret_report>/report/find_valid_duration # Path to CARET_reportexport component_list_json=./component_list.json # Path to setting fileexport target_path_json=./target_path.json # Path to setting fileexport duration=60 # duration to load trace dataexport trace_data=~/.ros/tracing/session-yyyymmddhhmmss # Path to CARET trace data (CTF file)
sh ${script_path}/find_valid_duration.sh