A python package to conveniently collect statistics data in ros2
Project description
ROS2 Test Runner
This Python package provides a convenient way to run ROS2 programs multiple times and collect timing and other statistics. It can be used to analyze the performance and behavior of ROS2 systems.
Features
- Run ROS2 files multiple times with customizable parameters.
- Collect timing statistics such as execution time, latency, and frequency.
- Easy integration with existing ROS2 workflows.
Usage
- Change the configuration file (
config.json
) specifying the ROS2 files you want to execute and their parameters. Here's an example:
{
"packages":[
{
"name" : "panda_moveit_config",
"launch" : "moveit.launch.py",
"leader" : false
},
{
"name" : "paper_benchmarks",
"launch" : "benchmark_asynchronous.launch.py",
"leader" : true
}
],
"checkpoint" : "<place_your_checkpoint_log_string_here>",
"terminate" : "<place_your_terminate_log_string_here>",
"pre_commands" : [
"cd /home/ros/ws_moveit ",
". install/setup.sh "
]
}
You need to log checkpoint and terminate string from as RCL_INFO.
Checkpoint
When the "checkpoint" keyword is encountered in the stdout, the statistics collection process records a timestamp in the statistics collection file, signifying the occurrence of this event.
Terminate
The "terminate" keyword is utilized to signal the end of a current run and initiate a new run in the statistics collection process.
- Then run the runner.py
python3 runner.py
- After execution, you can find the log lines of checkpoints in the
example.txt
. It will contain timing statistics.
Contributing
Contributions are welcome! If you encounter any issues or have suggestions for improvement, please open an issue on the project's GitHub repository.
Contact
For any inquiries or support, please contact the project maintainer:
- Tharaka Ratnayake
- Email: tharakasachintha27@gmail.com
We hope this package helps you in analyzing and optimizing your ROS2 systems. Happy coding!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ros2_test_runner-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96b1a7e085bac18a67d40cfa3de7ae962494d075f4859550239eb5913feb0bb1 |
|
MD5 | f4efc85eb86376d549b78ef582151b6a |
|
BLAKE2b-256 | 0d2d4a8ea61c9812a40ea9aff4675fa99bf063863f50b6b860e9c9646bd57345 |