Skip to main content

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

  1. 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.

  1. Then run the runner.py
python3 runner.py
  1. 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:

We hope this package helps you in analyzing and optimizing your ROS2 systems. Happy coding!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ros2-test-runner-0.0.2.tar.gz (3.7 kB view hashes)

Uploaded Source

Built Distribution

ros2_test_runner-0.0.2-py3-none-any.whl (4.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page