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

GPII-1230, GPII-1235, GPII-442: Running application detection and support for more advanced MM #91

Open
wants to merge 88 commits into
base: master
Choose a base branch
from

Conversation

kaspermarkus
Copy link
Member

@kaspermarkus kaspermarkus commented Mar 20, 2017

This is a pull request covering the semi-advanced MM functionality of GPII-1230 and GPII-1235. It also contains the relevant parts of Joseph's GPII-442 work

See also: GPII/universal#507

Fixed code blocks to display with newlines.
Firmed up the c++ code for the 'nodeprocesse' add-on:  simply a
bridge to gnome/linux library to generate a list of processes and
information about each.

Added numerous unit tests for the above, where most of the tests
use an object that provides an API for processes.

Next step:  carve out the relevant functions into a non-test object
that provides the same API.
Using nodejs path.basename() for one of the tests.

Linting nodeprocesses_test.js
First checkin of processes object for querying running processes,
checking their state, and reporting changes.
Modified processes.js to use full gpii.processes name.

Added procDemo.js to show how to detect a change in state for
orca.
Added ability to start with a non-running process, and detect
when it launches.
Whitespace cleanup and other tidying.
Added ability to continuously check the state of a process and
report when it changes from "running" to "not running" OR from
"not running" to "running".
First pass at integrate node's event systme to fire an event
when the process switches between running and not running, and
vice versa.
Renamed gpii.processes.refreshPrcoInfo() to
gpii.processes.updateProcInfo(), and made use of it.
Simplify the interface for setting up monitoring a process and
responding to events.
Moved most of the unit tests that were in nodeprocesses_test.js
for the nodeprocesses add-on to a processes_test.js to test the
new processes.js.  The latter contains the machinery for inspecting
processes, and, specifically, their state.
Replaced Nodejs event emitter object with fluid event firer.
Tweaked some of the function names.
Reconfigured the processes.js to declare fluid.defaults for
and evented component, and updated the demo as appropriate.
Added "onStateChange" event to notify of any change in a process'
state, and functions to tap into this event.  Also, simplified
hasStateChanged(), monitorStateChange() functions.
Added invokers findSolutionsByCommands() and findSolutionsByPids()
that take lists of command names, or process ids, respectively,
and search the live process list to find and return a list of
process information structures that match.
Renamed the main folder from "processes" to "processReporter".
- renamed "processes.js" to "processReporter.js"
- renamed "processes_test.js" to "processReporter_tests.js"
- renamed "procDemo.js" to "processReporterDemo.js"
- modified various names and namespaces to use "processReporter".
Updated the readme file to reflect the latest changes.  Also tidied
the code.
Added rationale for use of "command" property as a way of
identifying a process.
Added the "shell:compileProcesses" and "shell:cleanProcesses"
tasks to the main build and clean tasks.
Merge fire ball changes from upstream.
Modified test for path argument of a process to use the full path.
Fixed test for launching and quiting Orca (via gsettings) to test
the quit aspect only if Orca started in the first place.
Conflicts:
	gpii/node_modules/alsa/alsa_bridge.js
klown and others added 24 commits June 2, 2016 11:04
Merging changes to process reporter work due to Nan port (GPII-1526)
and GPII-1318.
Replaced 'jqUnit' with 'node-jqunit'.
Code style changes to follow the GPII C++ styles.
Modified the "dependencies" block to point to tip of my GPII-442
branch in universal.
Modified vars.yml to include libgtop2-devel package for compiling
the nodeprocesses.cc node add-on.
Modified the "dependencies" block to point to tip of GPII-442
branch in universal.
Removed orca start/stop test since it's really an integration
test.  Fixed race condition on the test case involving a 'grep'
command.
Point to the processes bridge component in universal.
Modified the "dependencies" block to point to tip of GPII-442
branch in universal.
Added unit tests for the processes bridge functions that track
changes in the state of the process (e.g., changing from
"running" to "no such process").
Modified the "dependencies" block to point to tip of GPII-442
branch in universal.
Modified the "dependencies" block to point to tip of GPII-442
branch in universal.
Modified the "dependencies" block:
- in main package.json to point always to tip of GPII-442 branch
  in universal.
- modifiled process reporter to depend on at least node 4.2.18.
Reduced the functionality of the processesBridge component to only find
solutions/processes, but no longer track their state.  Moved the state
tracking code to new branch GPII-442-trackState:
(https://github.com/klown/linux/tree/GPII-442-trackState).
Refactored the dual functionality of process finding and settings checking
implemented in find() into a find() and a checkSetting().
Modified checking the setting to match the required value of the
setting.
@gpii-bot
Copy link

CI job passed.

@kaspermarkus kaspermarkus changed the title GPII-1230, GPII-1235: Preliminary pull GPII-1230, GPII-1235, GPII-442: Running application detection and support for more advanced MM Apr 20, 2017
@gpii-bot
Copy link

CI job passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants