Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PIOT-CDA-02-006: Create module - SystemMemUtilTask #22

Open
labbenchstudios opened this issue Jul 14, 2020 · 0 comments
Open

PIOT-CDA-02-006: Create module - SystemMemUtilTask #22

labbenchstudios opened this issue Jul 14, 2020 · 0 comments
Labels
exercise New feature to implement as an exercise
Milestone

Comments

@labbenchstudios
Copy link
Contributor

labbenchstudios commented Jul 14, 2020

Description

  • Create a new Python module named SystemMemUtilTask with class name SystemMemUtilTask. This will be in the ./programmingtheiot/cda/system package.
    • NOTE: The downloaded code repository will a shell implementation of this module for you to work with, or you can create your own if you'd prefer.

Review the README

  • Please see README.md for further information on, and use of, this content.
  • License for embedded documentation and source codes: PIOT-DOC-LIC

Estimated effort may vary greatly

  • The estimated level of effort for this exercise shown in the 'Estimate' section below is a very rough approximation. The actual level of effort may vary greatly depending on your development and test environment, experience with the requisite technologies, and many other factors.

Actions

NOTE: The implementation examples depicted here are only one way to implement the requirements listed. Your own implementation may vary of course.

  • If not already part of the template class, import the psutil library and ConfigConst (in addition to logging and BaseSystemUtilTask):
import logging
import psutil

import programmingtheiot.common.ConfigConst as ConfigConst

from programmingtheiot.cda.system.BaseSystemUtilTask import BaseSystemUtilTask
  • Create a class within the module named SystemMemUtilTask. This will extend BaseSystemUtilTask.
  • In the constructor, add the following:
    super(SystemMemUtilTask, self).__init__(name = ConfigConst.MEM_UTIL_NAME, typeID = ConfigConst.MEM_UTIL_TYPE)
  • BaseSystemUtilTask defines a template method named getTelemetryValue(self) -> float:. Implement this in SystemMemUtilTask as follows:
    return psutil.virtual_memory().percent
def __init__(self):
	super(SystemMemUtilTask, self).__init__(name = ConfigConst.MEM_UTIL_NAME, typeID = ConfigConst.MEM_UTIL_TYPE)
	
def getTelemetryValue(self) -> float:
	return psutil.virtual_memory().percent

Estimate

  • Small

Tests

  • Unit tests (in ./src/test/python/programmingtheiot/part01/unit)
    • Run ./system/SystemMemUtilTaskTest. The testGetTelemetryValue() unit test should pass.
@labbenchstudios labbenchstudios self-assigned this Jul 14, 2020
@labbenchstudios labbenchstudios changed the title Create module - SystemMemUtilTask PIOT-CDA-02-004: Create module - SystemMemUtilTask Jul 14, 2020
@labbenchstudios labbenchstudios changed the title PIOT-CDA-02-004: Create module - SystemMemUtilTask PIOT-CDA-02-005: Create module - SystemMemUtilTask Jul 19, 2020
@labbenchstudios labbenchstudios removed their assignment Aug 17, 2020
@labbenchstudios labbenchstudios transferred this issue from programming-the-iot/python-components Sep 7, 2020
@labbenchstudios labbenchstudios added the exercise New feature to implement as an exercise label Sep 7, 2020
@labbenchstudios labbenchstudios added this to the Chapter 02 milestone Sep 7, 2020
@labbenchstudios labbenchstudios changed the title PIOT-CDA-02-005: Create module - SystemMemUtilTask PIOT-CDA-02-006: Create module - SystemMemUtilTask Sep 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exercise New feature to implement as an exercise
Projects
Status: Lab Module 02 - Edge Tier Apps
Status: Lab Module 02 - System Performance
Development

No branches or pull requests

1 participant