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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file ros2-test-runner-0.0.2.tar.gz.

File metadata

  • Download URL: ros2-test-runner-0.0.2.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for ros2-test-runner-0.0.2.tar.gz
Algorithm Hash digest
SHA256 c270af996fa38a8fb930662db3f298d183a812bd98c2b3ead0dde50393ba68e5
MD5 45a292d2b102ff0b8dd0c5a8af8d561d
BLAKE2b-256 ac81d6565313a1a6e13db5db452cbcde20824242216a78a1280a5e148f388d27

See more details on using hashes here.

File details

Details for the file ros2_test_runner-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ros2_test_runner-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 96b1a7e085bac18a67d40cfa3de7ae962494d075f4859550239eb5913feb0bb1
MD5 f4efc85eb86376d549b78ef582151b6a
BLAKE2b-256 0d2d4a8ea61c9812a40ea9aff4675fa99bf063863f50b6b860e9c9646bd57345

See more details on using hashes here.

Supported by

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