@krisdages/electron-process-manager

    2.0.1 • Public • Published

    Process Manager UI for Electron Apps

    Fork using @electron/remote instead of builtin remote module

    • Minimum electron version is 10
    • @electron/remote is a peerDependency. It needs to be initialized in the main process. Follow the instructions in the link.

    Original 1.0 Readme

    This package provides a process manager UI for Electron applications.

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

    npm version

    screenshot

    ⚠️ For @electron>=3.0.0, <7.x, use version 0.7.1 of this package. For versions >=7.x, use latest.

    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)
    • [x] Kill a process from the UI
    • [x] Open developer tools for a given process
    • [x] CPU metrics
    • [x] Sort by columns

    ⚠️ Unfortunately, memory info are no longer available in Electron>=4 (see electron/electron#16179)

    Installation

    $ npm install electron-process-manager

    Usage

    const { openProcessManager } = require('electron-process-manager');
    
    openProcessManager();

    Options

    openProcessManager function can take options in paramters

    options.defaultSorting

    defaultSorting.how: 'ascending' | 'descending'

    defaultSorting.path:

    Field name path
    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'

    example:

    const { openProcessManager } = require('electron-process-manager');
    
    openProcessManager({ how: 'descending', path: 'cpu.percentCPUUsage' });

    Future

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

    Pull requests welcome :)

    License

    MIT License

    Keywords

    none

    Install

    npm i @krisdages/electron-process-manager

    DownloadsWeekly Downloads

    22

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    1.54 MB

    Total Files

    24

    Last publish

    Collaborators

    • krisdages