Build and test two simple IoT Edge Tier applications. These applications - the Constrained Device App (CDA - written in Python), and the Gateway Device App (GDA - written in Java) - will just collect basic system performance data (e.g. CPU utilization, memory utilization, etc.) at a regular interval and log it using the system logger.
Activities
Implement the CDA in Python and the GDA in Java. Make sure they pass the tests specified in each requirement.
Both applications are very simple yet provide the foundation for the remaining Edge Tier functionality in the remaining exercises. These will read and report on basic system performance parameters, such as CPU utilization and memory utilization.
You may choose to incorporate additional system performance metrics if you'd like.
Lab Module 02
Lab Module 02 - Add System Performance Monitoring to CDA and GDA is focused on adding initial data generation features to your CDA and GDA. For both applications, you'll add the logic needed to collect basic system performance data and manage a data 'polling' schedule as part of the state of each the application.
Step 1: Read the Lab Module Summary and follow the Configuration steps
PIOT-CDA-02-001: Review the CDA main application template and test its basic functionality. This will allow the CDA to start and stop the SystemPerformanceManager functionality.
PIOT-CDA-02-002: Create the SystemPerformanceManager module. This will be responsible for scheduling system performance data collection tasks.
PIOT-CDA-02-003: Connect SystemPerformanceManager to the CDA's main application code.
PIOT-CDA-02-004: Create BaseSystemUtilTask. This will be the base class containing core functionality all other system performance tasks will inherit.
PIOT-CDA-02-005: Create SystemCpuUtilTask. This will collect CPU utilization metrics from the local system.
PIOT-CDA-02-006: Create SystemMemUtilTask. This will collect memory utilization metrics from the local system.
PIOT-CDA-02-007: Connect SystemCpuUtilTask and SystemMemUtilTask into SystemPerformanceManager. This will allow SystemPerformanceManager to start and stop the performance monitoring tasks.
PIOT-GDA-02-001: Review the GDA main application template and test its basic functionality.
PIOT-GDA-02-002: Create the SystemPerformanceManager module. This will be responsible for scheduling system performance data collection tasks.
PIOT-GDA-02-003: Connect SystemPerformanceManager to the GDA's main application code. This will allow the GDA to start and stop the SystemPerformanceManager functionality.
PIOT-GDA-02-004: Create BaseSystemUtilTask. This will be the base class containing core functionality all other system performance tasks will inherit.
PIOT-GDA-02-005: Create SystemCpuUtilTask. This will collect CPU utilization metrics from the local system.
PIOT-GDA-02-006: Create SystemMemUtilTask. This will collect memory utilization metrics from the local system.
PIOT-GDA-02-007: Connect SystemCpuUtilTask and SystemMemUtilTask into SystemPerformanceManager. This will allow SystemPerformanceManager to start and stop the performance monitoring tasks.
NOTE: Each chapter requires familiarity with source code version control using Git. If you're unfamiliar with Git, Git branching, or merging, Atlassian has a useful tutorial on these topics, located here: Git Branching
Review the README
Please see README.md for further information on, and use of, this content.
Review the LICENSE and USAGE guidelines
Please see PIOT-DOC-LIC for license and usage information.
Review
Read Chapter 2 of Programming the Internet of Things.
Objective
Build and test two simple IoT Edge Tier applications. These applications - the Constrained Device App (CDA - written in Python), and the Gateway Device App (GDA - written in Java) - will just collect basic system performance data (e.g. CPU utilization, memory utilization, etc.) at a regular interval and log it using the system logger.
Activities
Implement the CDA in Python and the GDA in Java. Make sure they pass the tests specified in each requirement.
Both applications are very simple yet provide the foundation for the remaining Edge Tier functionality in the remaining exercises. These will read and report on basic system performance parameters, such as CPU utilization and memory utilization.
You may choose to incorporate additional system performance metrics if you'd like.
Lab Module 02
Lab Module 02 - Add System Performance Monitoring to CDA and GDA is focused on adding initial data generation features to your CDA and GDA. For both applications, you'll add the logic needed to collect basic system performance data and manage a data 'polling' schedule as part of the state of each the application.
Step 1: Read the Lab Module Summary and follow the Configuration steps
Step 2: Follow the CDA specific instructions
SystemPerformanceManager
functionality.SystemPerformanceManager
module. This will be responsible for scheduling system performance data collection tasks.SystemPerformanceManager
to the CDA's main application code.BaseSystemUtilTask
. This will be the base class containing core functionality all other system performance tasks will inherit.SystemCpuUtilTask
. This will collect CPU utilization metrics from the local system.SystemMemUtilTask
. This will collect memory utilization metrics from the local system.SystemCpuUtilTask
andSystemMemUtilTask
intoSystemPerformanceManager
. This will allowSystemPerformanceManager
to start and stop the performance monitoring tasks.Step 3: Follow the GDA specific instructions
SystemPerformanceManager
module. This will be responsible for scheduling system performance data collection tasks.SystemPerformanceManager
to the GDA's main application code. This will allow the GDA to start and stop theSystemPerformanceManager
functionality.BaseSystemUtilTask
. This will be the base class containing core functionality all other system performance tasks will inherit.SystemCpuUtilTask
. This will collect CPU utilization metrics from the local system.SystemMemUtilTask
. This will collect memory utilization metrics from the local system.SystemCpuUtilTask
andSystemMemUtilTask
intoSystemPerformanceManager
. This will allowSystemPerformanceManager
to start and stop the performance monitoring tasks.NOTE: Each chapter requires familiarity with source code version control using Git. If you're unfamiliar with Git, Git branching, or merging, Atlassian has a useful tutorial on these topics, located here: Git Branching
Review the README
Review the LICENSE and USAGE guidelines