Progress
Progress for the community bonding weeks includes establishing contact as well as meeting the mentors and other GSoC students. The project progress is listed below.
-
Gaining Familiarity
- Got familiar with the plugin architecture from Plugin System Architecture article from Joplin website.
- Read about the Node
processobject and how it is extended into renderer processes in Electron apps. - Read about plugin creation using the generator script as described here
-
Checking electron process details
-
Used
topcommand in linux to list the main and renderer processes of the electron app.
-
Created a sample plugin and added it as a development plugin for testing purposes.
-
Went through
pluginRunner.tsand logged process ids to consolepluginWindow.webContents.once('did-finish-load', () => { console.log("PID", pluginWindow.webContents.getOSProcessId()); });This enabled me to obtain OS process IDs in the main proccess.
P.S. The PID in the console is coherent with the
topoutput, the screenshots are from different development sessions.
-
Plans
Plans for the upcoming week, in no particular order.
- Obtaining exhaustive resource usage details for renderer processes.
- Finding a way to poll the details at specific intervals to update the resource usage.
Problems
As not a lot of extensive coding was done, the problems generally consist of logical and architectural dilemma.
- Whether the plugin monitor can be included as a plugin itself, so that users can choose if they want to use it. This approach will require adding additional resource usage metric endpoints to the Joplin API.
I would love to hear the community suggestions on this, if it is at all required.

