system_metrics_collector repository

Repository Summary

Checkout URI https://github.com/ros-tooling/system_metrics_collector.git
VCS Type git
VCS Version foxy
Last Updated 2020-09-02
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
system_metrics_collector 0.1.1

README

system_metrics_collector

Note: This is currently an experimental package.

License GitHub Action Status End-to-end Testing (Nightly)

MetricsMessage

This message is used to publish the statistics of measured data points, for example system CPU percentage, system free memory percentage, message age, etc.

System Metrics Collector

The goal of this package is to provide lightweight, real-time system metrics to enable system debugging and diagnosis of ROS2 systems (currently Linux only). It automatically collects and aggregates CPU % used and memory % used of both system and ROS2 processes. Data is aggregated in order to provide constant time average, min, max, sample count, and standard deviation values for each collected metric.

Please see the package README for more details and usage examples.

Building from Source

To build from source you'll need to create a new workspace, clone and checkout the latest release branch of this repository, install all the dependencies, and compile. If you need the latest development features you can clone from the master branch instead of the latest release branch. While we guarantee the release branches are stable, the master should be considered to have an unstable build due to ongoing development.git diff

  • Create a ROS2 workspace and a source directory
mkdir -p ~/ros2-workspace/src

  • Clone the package into the source directory
cd ~/ros2-workspace/src
git clone git@github.com:ros-tooling/system_metrics_collector.git

  • Install dependencies
cd ~/ros2-workspace
sudo apt-get update && rosdep update
rosdep install --from-paths src --ignore-src -r -y

Note: If building the master branch instead of a release branch you may need to also checkout and build the master branches of the packages this package depends on.

  • Build the packages
cd ~/ros2-workspace && colcon build

  • Configure ROS2 library Path
source ~/ros2-workspace/install/local_setup.bash

  • Run the unit tests
colcon test && colcon test-result --all

License

The source code is released under an Apache 2.0.

Maintainer: ROS Tooling Working Group, ros-tooling@googlegroups.com

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.