58 lines
1.8 KiB
Markdown
58 lines
1.8 KiB
Markdown
|
# 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))
|
||
|
```
|