An open API service indexing awesome lists of open source software.

https://github.com/getstation/electron-process-reporter

Utility to extract interesting process reports of an Electron application
https://github.com/getstation/electron-process-reporter

Last synced: about 1 year ago
JSON representation

Utility to extract interesting process reports of an Electron application

Awesome Lists containing this project

README

          

# electron-process-reporter
Utility to extract interesting process reports of an Electron application.

## Installation
```bash
$ npm install --save electron-process-reporter
```

## Usage

### onExtendedProcessMetrics
Returns an Rx.Observable that emits reports of `ExtendedProcessMetric` every `options.samplingInterval` ms.
```js
import { app } from 'electron';
import { onExtendedProcessMetrics } from 'electron-process-reporter';

onExtendedProcessMetrics(app, { samplingInterval: 1000 }) // returns a rx.Observable
.subscribe(report => console.log(report))
```

### onExcessiveCPUUsage
Will emit `ExtendedProcessMetric[]` when a process exceeds the `options.percentCPUUsageThreshold` on more than `options.samplesCount` samples.
```js
import { app } from 'electron';
import { onExcessiveCPUUsage } from 'electron-process-reporter';

onExcessiveCPUUsage(
app,
{
samplesCount: 1,
percentCPUUsageThreshold: 90,
}) // returns a rx.Observable
.subscribe(report => console.log(report))
```

### onProcessTreeMetricsForPid
Returns an Rx.Observable that emits `PidUsage[]` every `options.samplingInterval` ms.
```js
import { onProcessTreeMetricsForPid } from 'electron-process-reporter';

onProcessTreeMetricsForPid(process.pid, { samplingInterval: 1000 }) // returns a rx.Observable
.subscribe(report => console.log(report))
```

### onExcessiveCPUUsageInProcessTree
Will emit `PidUsage[]` when a process of the tree exceeds the `options.percentCPUUsageThreshold` on more than `options.samplesCount` samples.
```js
import { onExcessiveCPUUsageInProcessTree } from 'electron-process-reporter';

onExcessiveCPUUsageInProcessTree(
process.pid, // in the main process
{
samplesCount: 1,
percentCPUUsageThreshold: 90,
}) // returns a rx.Observable
.subscribe(report => console.log(report))
```