No version for distro humble showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro jazzy showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro kilted showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro rolling showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro ardent showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro bouncy showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro crystal showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro eloquent showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro dashing showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro galactic showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro iron showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro lunar showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro jade showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro indigo showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro hydro showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro kinetic showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro melodic showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange

No version for distro noetic showing foxy. Known supported distros are highlighted in the buttons above.
Package symbol

system_metrics_collector package from system_metrics_collector repo

system_metrics_collector

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

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)

Package Description

Node and aggregation utilities to measure and publish system metrics.

Additional Links

No additional links.

Maintainers

  • ROS Tooling Working Group

Authors

No additional authors.

System metrics collector

Supported targets

The system metrics collector package supports the following:

  • ROS Distro
    • ROS 2: eloquent
  • OS: Ubuntu Bionic

Description

This package aims to integrate lightweight aggregation tools in order to collect, measure, and publish aggregate metrics.

The moving average tools provide constant time sample aggregation to produce average, min, max, standard deviation, and sample count. The collector provides a thread-safe mechanism to perform measurements. The PeriodicMeasurementNode is a ROS2 Lifecycle Node which utilizes the aggregation tools and provides an abstraction for ROS2: specifically a configurable timer (default 1 second) is used to perform measurements, which is published (default 1 minute - but configurable) to a topic (default /system_metrics).

The lifecycle state transitions are automatically invoked such that the Node is in an activated state after creation. The goal is to start metric collection automatically after launching. However, the lifecycle actions (activate, deactivate, shutdown) can be manually invoked. Please see this example.

Parameters

There are two parameters defined:

  • measurement_period:
Parameter name: measurement_period
Type: integer
  Description: The period in milliseconds between each measurement
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

  • publish_period:
Parameter name: publish_period
  Type: integer
  Description: The period in milliseconds between each published MetricsMessage. This must be less than
  the measurement_period.
  Constraints:
    Read only: true
    Min value: 1
    Max value: 9223372036854775807
    Step: 1

Usage:

We provide multiple example entry points to use this package in the examples directory, which demonstrate how to run the metric collection nodes and instrument existing nodes in order to measure their performance.

ROS2 Launch

The [talker_listener_example] launch file demonstrates how to measure the CPU and memory of a ROS2 process. Specifically, this example instruments the [demo_nodes_cpp] talker and listener nodes and launches them, in separate processes, with the system CPU and memory measurement nodes. This example can be run using [ros2launch].

ros2 launch system_metrics_collector talker_listener_example.launch.py

The [system_cpu_and_memory_configuration_example] can be launched with [ros2launch], which demonstrates how to configure the metric collection nodes.

ros2 launch system_metrics_collector system_cpu_and_memory.launch.py

Manual Execution

You can run the example_main executable which will manually start the system CPU, system memory, process CPU and process memory measurement nodes. This also sets all the nodes’ verbosity levels to DEBUG, which will print collection and status information to the console. Using [ros2run]

ros2 run system_metrics_collector example_main

Change publish_period or measurement_period using --ros-args:

ros2 run system_metrics_collector example_main --ros-args -p measurement_period:=100 -publish_period 1000

This node will generate 4 nodes. Using [ros2node]

ros2 node list
/linuxCpuCollector
/linuxMemoryCollector
/linuxProcessCpuCollector
/linuxProcessMemoryCollector

Interaction via the ROS2 CLI

This section describes how to interact with this package using the ROS2 Command Line Interface (CLI). Example output is provided where relevant.

Subscribe to /system_metrics to visualize all the statistics.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package system_metrics_collector

0.1.1 (2020-09-02)

  • Fix test_subscriber_topic_statistics being referenced out of scope causing colcon build with flag -DBUILD_TESTING=0 to fail. (#175) (#176)
  • Contributors: Jaison Titus

0.1.0 (2020-08-13)

  • Bump package version to 0.1.0 (#170)
  • Allow topic statistics to subscribe to multiple topics (#143)
  • Add topic statistics executable, launch file and e2e test (#125)
  • Move metrics_statistics_msgs to rcl_interfaces (#135)
  • Add DummyMessage talker node and launch file for it (#119)
  • Fix test subscriber failures (#126)
  • Move message generation function to libstatistics_collector (#122)
  • Replace IMU messages with new dummy messages (#121)
  • Add SubscriberTopicStatisticsNode and tests (#112)
  • Create libstatistics_collector package (#117)
  • Add statistic name and unit interfaces (#115)
  • Use rcutils_time_point_value_t instead of rclcpp::Time (#113)
  • Remove deprecated launch params (#109)
  • Add message age collector class (#106)
  • Refactor Linux process CPU measurement tests (#107)
  • Dabonnie/fix cpu measurement test (#102)
  • Move common test utilities (#101)
  • Refactor Linux memory measurement tests (#100)
  • Cleanup package.xml dependencies (#97)
  • Add received message period measurement (#94)
  • Fix relative #include paths (#95)
  • Add test for collector state (#93)
  • Move stateless method to free function (#92)
  • Add e2e test workflow (#88)
  • Fix uncrustify linting (#89)
  • Add e2e test (#86)
  • Add unit information to MetricsMessage (#85)
  • Clarify that the main executable is an example (#84)
  • Dabonnie/readme update (#82)
  • Add example launch file (#81)
  • Add configurable launch parameters (#80)
  • Update README.md (#79)
  • Dabonnie/add documentation (#77)
  • Add unit test for composeability of nodes (#76)
  • Make LinuxProcessCpuMeasurementNode and LinuxProcessMemoryMeasurementNode composeable (#67)
  • Added some doc (#75)
  • Refactor PeriodicMeasurementNode to inherit from LifecycleNode (#72)
  • Use rclcpp::NodeOptions during node construction (#73)
  • Add input argument checking to PeriodicMeasurementNode (#69)
  • Add process CPU usage measurement node (#59)
  • Fix linting issues (#54)
  • Add launch file to launch system CPU and Memory collector nodes (#63)
  • Replace test method with implementation (#62)
  • Add process CPU usage measurement dependencies

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Services

No service files found

Plugins

No plugins found.

Recent questions tagged system_metrics_collector at Robotics Stack Exchange