Skip to content
This repository has been archived by the owner on Jun 10, 2021. It is now read-only.

Process memory measurement #28

Merged
merged 9 commits into from Dec 10, 2019
Merged

Process memory measurement #28

merged 9 commits into from Dec 10, 2019

Conversation

dabonnie
Copy link
Contributor

@dabonnie dabonnie commented Dec 7, 2019

Added functionality to measure the process memory (percentage used) by extending a PeriodicMeasurementNode. See https://github.com/ros-security/aws-roadmap/issues/139 for details.

@dabonnie dabonnie self-assigned this Dec 7, 2019
@dabonnie
Copy link
Contributor Author

dabonnie commented Dec 7, 2019

Example output from running the main (with the system cpu and memory nodes inactive):

[DEBUG] [1575679186.636252688] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002228
[DEBUG] [1575679186.636802710] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002228, min=0.002228, max=0.002228, std_dev=0.000000, count=1
[DEBUG] [1575679187.637456631] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002326
[DEBUG] [1575679187.637536597] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002277, min=0.002228, max=0.002326, std_dev=0.000049, count=2
[DEBUG] [1575679188.653486770] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002620
[DEBUG] [1575679188.653563781] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002391, min=0.002228, max=0.002620, std_dev=0.000167, count=3
[DEBUG] [1575679189.641113199] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002620
[DEBUG] [1575679189.641340374] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002449, min=0.002228, max=0.002620, std_dev=0.000175, count=4
[DEBUG] [1575679190.697711072] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002620
[DEBUG] [1575679190.697782464] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002483, min=0.002228, max=0.002620, std_dev=0.000171, count=5
[DEBUG] [1575679191.645000999] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002620
[DEBUG] [1575679191.645067954] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002506, min=0.002228, max=0.002620, std_dev=0.000164, count=6
[DEBUG] [1575679192.648960894] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002620
[DEBUG] [1575679192.649198647] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002522, min=0.002228, max=0.002620, std_dev=0.000157, count=7
[DEBUG] [1575679193.666881951] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002620
[DEBUG] [1575679193.666952070] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002534, min=0.002228, max=0.002620, std_dev=0.000151, count=8
[DEBUG] [1575679194.682101166] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002620
[DEBUG] [1575679194.682244856] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002544, min=0.002228, max=0.002620, std_dev=0.000145, count=9
[DEBUG] [1575679195.651991164] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002620
[DEBUG] [1575679195.652085111] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002552, min=0.002228, max=0.002620, std_dev=0.000139, count=10
[DEBUG] [1575679196.715741330] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002620
[DEBUG] [1575679196.715811571] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002558, min=0.002228, max=0.002620, std_dev=0.000134, count=11
[DEBUG] [1575679197.680580051] [linuxProcessMemoryCollector]: performPeriodicMeasurement: 0.002620
[DEBUG] [1575679197.680648410] [linuxProcessMemoryCollector]: name=linuxProcessMemoryCollector, measurement_period=1000ms, publishing_topic=not_publishing_yet, publish_period=60000ms, clear_measurements_on_publish_=1, started=true, avg=0.002563, min=0.002228, max=0.002620, std_dev=0.000130, count=12

@codecov
Copy link

codecov bot commented Dec 7, 2019

Codecov Report

Merging #28 into master will increase coverage by 0.16%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #28      +/-   ##
==========================================
+ Coverage   41.88%   42.04%   +0.16%     
==========================================
  Files          23       26       +3     
  Lines         819      880      +61     
  Branches      475      506      +31     
==========================================
+ Hits          343      370      +27     
- Misses         42       50       +8     
- Partials      434      460      +26
Impacted Files Coverage Δ
...etrics_collector/test_linux_memory_measurement.cpp 30.7% <0%> (-0.25%) ⬇️
...m_metrics_collector/linux_cpu_measurement_node.cpp 36.73% <0%> (ø) ⬆️
...tor/test_linux_process_memory_measurement_node.cpp 41.93% <0%> (ø)
...ollector/linux_process_memory_measurement_node.cpp 33.33% <0%> (ø)
...ollector/linux_process_memory_measurement_node.hpp 100% <0%> (ø)
...llector/src/system_metrics_collector/utilities.cpp 28.88% <0%> (+3.3%) ⬆️
...r/test/system_metrics_collector/test_collector.cpp 43.24% <0%> (+5.74%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 49c416c...2102fc4. Read the comment docs.

@dabonnie
Copy link
Contributor Author

dabonnie commented Dec 9, 2019

Review changes WIP, not all have been addressed.

@dabonnie dabonnie changed the title [WIP] Process memory measurement Process memory measurement Dec 9, 2019
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
Add test file

Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
@dabonnie dabonnie mentioned this pull request Dec 10, 2019
3 tasks
@dabonnie dabonnie merged commit 0d453b5 into master Dec 10, 2019
@dabonnie dabonnie deleted the process-memory-measurement branch December 10, 2019 18:46
ahcorde pushed a commit to ahcorde/system_metrics_collector that referenced this pull request Dec 11, 2019
* initial commit

* Process memory Measurement working

Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>

* Implement publish method

Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>

* Update implementation with interface changes

Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>

* Add implementation file
Add test file

Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>

* Revert local testing change (lint failure)

Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>

* Address review comments

* Address outstanding review comments

* Address minor review comments

Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants