ros2-test-runner


Nameros2-test-runner JSON
Version 0.0.2 PyPI version JSON
download
home_page
SummaryA python package to conveniently collect statistics data in ros2
upload_time2023-05-23 08:15:36
maintainer
docs_urlNone
authorTharaka Sachintha
requires_python
license
keywords python ros2 humble launch
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# 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:

```json
{
    "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. 


2. Then run the runner.py

```sh
python3 runner.py
```


4. 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!


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "ros2-test-runner",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "python,ros2,humble,launch",
    "author": "Tharaka Sachintha",
    "author_email": "<tharakasachintha27@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/ac/81/d6565313a1a6e13db5db452cbcde20824242216a78a1280a5e148f388d27/ros2-test-runner-0.0.2.tar.gz",
    "platform": null,
    "description": "\n# ROS2 Test Runner\n\nThis 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.\n\n## Features\n\n- Run ROS2 files multiple times with customizable parameters.\n- Collect timing statistics such as execution time, latency, and frequency.\n- Easy integration with existing ROS2 workflows.\n\n\n## Usage\n\n1. Change the configuration file (`config.json`) specifying the ROS2 files you want to execute and their parameters. Here's an example:\n\n```json\n{\n    \"packages\":[\n        {\n            \"name\" : \"panda_moveit_config\",\n            \"launch\" : \"moveit.launch.py\",\n            \"leader\" : false\n        },\n        {\n            \"name\" : \"paper_benchmarks\",\n            \"launch\" : \"benchmark_asynchronous.launch.py\",\n            \"leader\" : true\n        }\n    ],\n    \"checkpoint\" : \"<place_your_checkpoint_log_string_here>\",\n    \"terminate\" : \"<place_your_terminate_log_string_here>\",\n    \"pre_commands\" : [\n        \"cd /home/ros/ws_moveit \", \n        \". install/setup.sh \"\n    ]\n}\n```\n\nYou need to log checkpoint and terminate string from as RCL_INFO.\n\n#### Checkpoint\n\nWhen 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.\n\n#### Terminate\n\nThe \"terminate\" keyword is utilized to signal the end of a current run and initiate a new run in the statistics collection process. \n\n\n2. Then run the runner.py\n\n```sh\npython3 runner.py\n```\n\n\n4. After execution, you can find the log lines of checkpoints in the `example.txt`. It will contain timing statistics.\n\n## Contributing\n\nContributions are welcome! If you encounter any issues or have suggestions for improvement, please open an issue on the project's GitHub repository.\n\n## Contact\n\nFor any inquiries or support, please contact the project maintainer:\n\n- Tharaka Ratnayake\n- Email: tharakasachintha27@gmail.com\n\nWe hope this package helps you in analyzing and optimizing your ROS2 systems. Happy coding!\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A python package to conveniently collect statistics data in ros2",
    "version": "0.0.2",
    "project_urls": null,
    "split_keywords": [
        "python",
        "ros2",
        "humble",
        "launch"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0d2d4a8ea61c9812a40ea9aff4675fa99bf063863f50b6b860e9c9646bd57345",
                "md5": "f4efc85eb86376d549b78ef582151b6a",
                "sha256": "96b1a7e085bac18a67d40cfa3de7ae962494d075f4859550239eb5913feb0bb1"
            },
            "downloads": -1,
            "filename": "ros2_test_runner-0.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f4efc85eb86376d549b78ef582151b6a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 4085,
            "upload_time": "2023-05-23T08:15:34",
            "upload_time_iso_8601": "2023-05-23T08:15:34.661662Z",
            "url": "https://files.pythonhosted.org/packages/0d/2d/4a8ea61c9812a40ea9aff4675fa99bf063863f50b6b860e9c9646bd57345/ros2_test_runner-0.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ac81d6565313a1a6e13db5db452cbcde20824242216a78a1280a5e148f388d27",
                "md5": "45a292d2b102ff0b8dd0c5a8af8d561d",
                "sha256": "c270af996fa38a8fb930662db3f298d183a812bd98c2b3ead0dde50393ba68e5"
            },
            "downloads": -1,
            "filename": "ros2-test-runner-0.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "45a292d2b102ff0b8dd0c5a8af8d561d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 3661,
            "upload_time": "2023-05-23T08:15:36",
            "upload_time_iso_8601": "2023-05-23T08:15:36.618977Z",
            "url": "https://files.pythonhosted.org/packages/ac/81/d6565313a1a6e13db5db452cbcde20824242216a78a1280a5e148f388d27/ros2-test-runner-0.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-23 08:15:36",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "ros2-test-runner"
}
        
Elapsed time: 1.43722s