Emitter `gearshape.2`

# Process Monitor

Streams CPU and memory usage for a specific application.

The Process Monitor emitter tracks a single application's resource consumption over time. On each poll interval it reports the process's CPU usage percentage, memory footprint in megabytes, and whether the process is currently running. This is ideal for monitoring resource-hungry apps, detecting runaway processes, or building per-app usage dashboards.

Select the target application using the built-in app picker, which lists all installed applications on your Mac. If the selected app is not running when the emitter fires, the `isRunning` variable will be `false` and the CPU/memory values will be zero.

⚠️

One emitter per workflow

A workflow streams from a single emitter at a time. If you place two emitters (for example a Process Monitor and a Resource Monitor) in the same workflow, only one will stream — the other stays idle and never emits. To monitor several apps or metrics at once, give each emitter its own workflow.

## Ports

Direction | Name | Data Type | Description
--- | --- | --- | ---
Outlet | Output | `Any` | Emits a payload with per-process resource data on every poll interval

## Configuration

Field | Type | Default | Description
--- | --- | --- | ---
appName | `App Picker` | None | The application to monitor. Uses the system app picker to select from installed apps.
pollInterval | `Dropdown` | `5s` | How often to sample. Options: 1s, 2s, 5s, 10s, 30s, 1m, 5m

## Output Variables

Variable | Type | Description
--- | --- | ---
{{processName}} | `String` | Name of the monitored process
{{pid}} | `Number` | Process ID
{{cpuUsage}} | `Number` | CPU usage percentage
{{memoryMB}} | `Number` | Memory usage in megabytes
{{isRunning}} | `Boolean` | Whether the process is currently running
{{timestamp}} | `String` | ISO 8601 timestamp of the sample

## Example