Giter Club home page Giter Club logo

electron-process-manager's Introduction

Process Manager UI for Electron Apps

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)
  • Kill a process from the UI
  • Open developer tools for a given process
  • CPU metrics
  • 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

electron-process-manager's People

Contributors

alexssdc avatar alexstrat avatar guillaumearm avatar handtrix avatar hugomano avatar magne4000 avatar mathieudebit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

electron-process-manager's Issues

Memoize misspelled

const memoize = require("memoizee"); in src/ProcessStatsReporter.js

:)

Window opens up blank in Electron 5.0

The problem is that nodeIntegration defaults to false in Electron 5.0. Setting nodeIntegration to true in the webPreferences option when constructing the ProcessManagerWindow (extending BrowserWindow) seems to rectify that problem.

Remove React Dependency

React+React-Dom is about 110 KB in size before compression.
Removing React and updating the UI manually will probably save 95-100 KB before compression.

Electron tray can't show

When I require this module and use Tray, tray only show Flashing then hide.

I followed the problem and found that electron-process-reporter read rxjs cause this problem.

Do you have any other suggestions?

Thanks.

Problem with electron-packager

Since commit 31f8b87 (maybe the problem is more in electron-process-manager), application using process-manager crash when they are packaged with electron-packager.
I don't find why but will check later.

bug: can't work with vue-cli-plugin-electron

i m use vue-cli create project, and add vue-cli-plugin-electron-builder, this my code up

app.on('ready', async () => {
  if (isDevelopment && !process.env.IS_TEST) {
    // Install Vue Devtools
    try {
      await installVueDevtools()
    } catch (e) {
      console.error('Vue Devtools failed to install:', e.toString())
    }
  }
  createWindow()
  openProcessManager()
})

but it's cant work. the tool is blank
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.