Utility to extract interesting process reports of an Electron application.
$ npm install --save electron-process-reporter
Returns an Rx.Observable that emits reports of ExtendedProcessMetric
every options.samplingInterval
ms.
import { app } from 'electron';
import { onExtendedProcessMetrics } from 'electron-process-reporter';
onExtendedProcessMetrics(app, { samplingInterval: 1000 }) // returns a rx.Observable
.subscribe(report => console.log(report))
Will emit ExtendedProcessMetric[]
when a process exceeds the options.percentCPUUsageThreshold
on more than options.samplesCount
samples.
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))
Returns an Rx.Observable that emits PidUsage[]
every options.samplingInterval
ms.
import { onProcessTreeMetricsForPid } from 'electron-process-reporter';
onProcessTreeMetricsForPid(process.pid, { samplingInterval: 1000 }) // returns a rx.Observable
.subscribe(report => console.log(report))
Will emit PidUsage[]
when a process of the tree exceeds the options.percentCPUUsageThreshold
on more than options.samplesCount
samples.
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))