electron-process-reporter

Utility to extract interesting process reports of an Electron application.

Usage no npm install needed!

<script type="module">
  import electronProcessReporter from 'https://cdn.skypack.dev/electron-process-reporter';
</script>

README

electron-process-reporter

Utility to extract interesting process reports of an Electron application.

Installation

$ npm install --save electron-process-reporter

Usage

onExtendedProcessMetrics

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))

onExcessiveCPUUsage

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))

onProcessTreeMetricsForPid

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))

onExcessiveCPUUsageInProcessTree

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))