Files
OrbbecSDK_ROS2/en/.doctrees/source/6_benchmark/introduction.doctree
T

10 lines
9.8 KiB
Plaintext
Raw Normal View History

2025-10-22 03:11:03 +00:00
€•5'Œdocutils.nodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”hŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ Introduction”h]”hŒText”“”Œ Introduction”…”�”}”(Œparent”hŒ _document”hŒsource”NŒline”NubaŒ
attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”uŒtagname”hhKhh hŒZ/home/runner/work/OrbbecSDK_ROS2/OrbbecSDK_ROS2/docs/en/source/6_benchmark/introduction.md”ubhŒ paragraph”“”)�”}”(hŒoThis section introduces the benchmark tool, explaining its purpose, features, and what it can help you measure.”h]”hŒoThis section introduces the benchmark tool, explaining its purpose, features, and what it can help you measure.”…”�”}”(hh.hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhh hhhh+ubh
2025-09-25 13:04:20 +00:00
)�”}”(hhh]”(h)�”}”(hŒcommon benchmark node”h]”hŒcommon benchmark node”…”�”}”(hh?hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhKhh<hh+ubh-)�”}”(hXScommon_benchmark_node.py is a tool for monitoring the performance of Orbbec cameras running in a ROS environment. It collects and records key camera metrics such as frame rate, latency, system resource usage, and packet loss rate in real time, helping users evaluate the stability and performance of camera nodes (updated once per second).”h]”(hŒliteral”“”)�”}”(hŒcommon_benchmark_node.py”h]”hŒcommon_benchmark_node.py”…”�”}”(hhShhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hQhhMhhhh+hKubhX; is a tool for monitoring the performance of Orbbec cameras running in a ROS environment. It collects and records key camera metrics such as frame rate, latency, system resource usage, and packet loss rate in real time, helping users evaluate the stability and performance of camera nodes (updated once per second).”…”�”}”(hhMhhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhh<hhhh+ubh-)�”}”(hŒFeatures”h]”hŒstrong”“”)�”}”(hŒFeatures”h]”hŒFeatures”…”�”}”(hhqhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hohhkhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK hh<hhhh+ubhŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hhh]”h-)�”}”(hŒKMeasure published image frame rate and latency (current, min, max, average)”h]”hŒKMeasure published image frame rate and latency (current, min, max, average)”…”�”}”(hh�hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK hhŒhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hŠhK hh‡hhhh+ubh‹)�”}”(hhh]”h-)�”}”(hŒDMonitor the camera node's CPU/ARM usage (current, min, max, average)”h]”(hŒMonitor the camera node”…”�”}”(hh¦hhhNhNubhŒ’”…”�”}”(hh¦hhhNhNubhŒ,s CPU/ARM usage (current, min, max, average)”…”�”}”(hh¦hhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK
hh£hhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hŠhK
hh‡hhhh+ubh‹)�”}”(hhh]”h-)�”}”(hŒCTrack frame drop rate (publisher) and packet loss rate (subscriber)”h]”hŒCTrack frame drop rate (publisher) and packet loss rate (subscriber)”…”�”}”(hhÅhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhhÂhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hŠhKhh‡hhhh+ubh‹)�”}”(hhh]”h-)�”}”(hŒPPrint real-time statistics (1 Hz) to the terminal and save results to a CSV file”h]”hŒPPrint real-time statistics (1 Hz) to the terminal and save results to a CSV file”…”�”}”(hhÜhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhhÙhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hŠhKhh‡hhhh+ubh‹)�”}”(hhh]”h-)�”}”(hŒ9Support configurable runtime duration and CSV output path”h]”hŒ9Support configurable runtime duration and CSV output path”…”�”}”(hhóhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhhðhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hŠhKhh‡hhhh+ubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h…hK hh<hhhh+ubh-)�”}”(hŒExample”h]”hp)�”}”(hŒExample”h]”hŒExample”…”�”}”(hjhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hohj
hhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhh<hhhh+ubh-)�”}”(hŒ¬In ROS1, both frame drop rate and packet loss rate can be measured, while in ROS2, the header lacks the seq field, so only the publisher-side frame drop rate is calculated.”h]”(hŒhIn ROS1, both frame drop rate and packet loss rate can be measured, while in ROS2, the header lacks the ”…”�”}”(hj%hhhNhNubhR)�”}”(hŒseq”h]”hŒseq”…”�”}”(hj-hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hQhj%hhhh+hKubhŒA field, so only the publisher-side frame drop rate is calculated.”…”�”}”(hj%hhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhh<hhhh+ubh-)�”}”(hŒcommon_benchmark_ros1”h]”hŒimage”“”)�”}”(hjGh]”hh…”�”}”(hjKhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”Œuri”Œ7source/image/benchmark_images/common_benchmark_ros1.png”Œalt”jGŒ
candidates”}”Œ*”jXsŒ original_uri”Œ3../image/benchmark_images/common_benchmark_ros1.png”uh*jIhjEhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhh<hhhh+ubh-)�”}”(hŒcommon_benchmark_ros2”h]”jJ)�”}”(hjgh]”hh…”�”}”(hjihhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”jWŒ7source/image/benchmark_images/common_benchmark_ros2.png”jYjgjZ}”j\jusj]Œ3../image/benchmark_images/common_benchmark_ros2.png”uh*jIhjehhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhh<hhhh+ubeh}”(h ]”Œcommon-benchmark-node”ah"]”h$]”Œcommon benchmark node”ah&]”h(]”uh*h hKhh hhhh+ubh
)�”}”(hhh]”(h)�”}”(hŒservice benchmark node”h]”hŒservice benchmark node”…”�”}”(hj‰hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhKhj†hh+ubh-)�”}”(hŒ¯The service_benchmark_node tool is used to monitor the performance of service calls. It can measure the success rate of service calls and the time required to execute service.”h]”(hŒThe ”…”�”}”(hj—hhhNhNubhR)�”}”(hŒservice_benchmark_node”h]”hŒservice_benchmark_node”…”�”}”(hjŸhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hQhj—hhhh+hKubhŒ• tool is used to monitor the performance of service calls. It can measure the success rate of service calls and the time required to execute service.”…”�”}”(hj—hhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhj†hhhh+ubh-)�”}”(hŒFeatures”h]”hp)�”}”(hŒFeatures”h]”hŒFeatures”…”�”}”(hj»hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hohj·hhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK!hj†hhhh+ubh†)�”}”(hhh]”(h‹)�”}”(hhh]”h-)�”}”(hŒCBenchmark a single service call, measuring latency and success rate”h]”hŒCBenchmark a single service call, measuring latency and success rate”…”�”}”(hjÕhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK#hjÒhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hŠhK#hjÏhhhh+ubh‹)�”}”(hhh]”h-)�”}”(hŒCBenchmark multiple services as defined in a YAML configuration file”h]”hŒCBenchmark multiple services as defined in a YAML configuration file”…”�”}”(hjìhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK%hjéhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hŠhK%hjÏhhhh+ubh‹)�”}”(hhh]”h-)�”}”(hŒ/Optionally save benchmark results to a CSV file”h]”hŒ/Optionally save benchmark results to a CSV file”…”�”}”(hjhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK'hjhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hŠhK'hjÏhhhh+ubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h…hK#hj†hhhh+ubh-)�”}”(hŒExample”h]”hp)�”}”(hŒExample”h]”hŒExample”…”�”}”(hj!hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hohjhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK)hj†hhhh+ubh-)�”}”(hŒservice benchmark”h]”jJ)�”}”(hj7h]”hh…”�”}”(hj9hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”jWŒ3source/image/benchmark_images/service_benchmark.png”jYj7jZ}”j\jEsj]Œ/../image/benchmark_images/service_benchmark.png”uh*jIhj5hhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK+hj†hhhh+ubh-)�”}”(hŒfWhen you need to collect data for multiple services, it is recommended to use a CSV file for analysis.”h]”hŒfWhen you need to collect data for multiple services, it is recommended to use a CSV file for analysis.”…”�”}”(hjNhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK-hj†hhhh+ubeh}”(h ]”Œservice-benchmark-node”ah"]”h$]”Œservice benchmark node”ah&]”h(]”uh*h hKhh hhhh+ubeh}”(h ]”Œ introduction”ah"]”h$]”Œ introduction”ah&]”h(]”uh*h hKhhhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”Œsource”h+Œtranslation_progress”}”(Œtotal”KŒ
2025-10-22 03:11:03 +00:00
translated”Kuuh*hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(Œoutput”NhNŒ generator”NŒ datestamp”NŒ root_prefix”Œ/”Œ source_link”NŒ
2025-09-25 13:04:20 +00:00
source_url”NŒ