2.0.1 • Published 2 years ago

ksy-electron-process-manager v2.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Process Manager UI for Electron Apps

This package has been forked from https://github.com/getstation/electron-process-manager but it doesn't work on electron 11 +. So I have fixed and upgraded some featuers. This package provides a process manager UI for Electron applications. This package works on any electron version. The old package didn't work on electron 11 +. So I have upgraded this package.

It opens a window displaying a table of every processes run by the Electron application with information (type, URL for webContents, memory..).

screenshot

It can be useful to debug performance of an app with several webview.

It's inspired from Chrome's task manager.

Features

  • Memory reporting
  • Link memory data to web-contents (for electron >=1.7.1)
  • Kill a process from the UI
  • Open developer tools for a given process
  • CPU metrics
  • Sort by columns

Installation

$ npm install @electron/remote
$ npm install ksy-electron-process-manager

Usage

require('@electron/remote/main').initialize();
const processManager = require('ksy-electron-process-manager');
const win = processManager.open({
                defaultSorting: {
                    path: 'cpu.percentCPUUsage',
                    how: 'descending'
                }
            });
require('@electron/remote/main').enable(win.webContents);

Options

processManager.open function can take options in paramters

options.defaultSorting

defaultSorting.how: 'ascending' | 'descending'

defaultSorting.path:

Field namepath
Pid'pid'
WebContents Domain'webContents.0.URLDomain'
Process Type'webContents.0.type'
Private Memory'memory.privateBytes'
Shared Memory'memory.sharedBytes'
Working Set Size'memory.workingSetSize'
% CPU'cpu.percentCPUUsage'
Idle Wake Ups /s'cpu.idleWakeupsPerSecond'
WebContents Id'webContents.0.id'
WebContents Type'webContents.0.type'
WebContents URL'webContents.0.URL'

Future

  • Add physical memory (noted as "Memory" in Chrome's task manager)
  • Add networks metrics

Pull requests welcome :)

License

MIT License