Emitters

Resource Monitor

Samples one system metric — CPU, memory, disk or battery — and emits a payload on every tick.

emitter.resource_monitor
EMITTERResource Monitor

At a glance

Fires when
Every poll interval, from 1 second to 5 minutes
Emits
metric, value, timestamp, plus the keys for the metric you chose
Good for
Live dashboards, low-disk and low-battery alerts, health logging

Set it up

Choose the metric and how often to sample it. Each metric fills a different set of keys, and value always holds the number for whichever one you picked — that is the key to wire into a Condition when you only care about the threshold.

The inspector for Resource Monitor: a metric and an interval.
The inspector for Resource Monitor: a metric and an interval.

Configure

FieldDefaultWhat it does
MetricCPU UsageCPU Usage, Memory Usage, Disk Space, or Battery Level.
Interval5 seconds1s, 2s, 5s, 10s, 30s, 1 minute, or 5 minutes.
Disk Path/Which volume to measure. Appears only for Disk Space.

Output

Every key is available downstream as {{key}}.

KeyMetricValue
metricallWhich metric this sample is — cpu_usage, memory_usage, disk_space, battery_level
valueallThe metric's number for this sample, whichever metric you chose
timestampallISO 8601
cpuUsageCPUPercentage
memoryUsageMemoryPercentage
usedGBMemoryMemory in use
totalGBMemory, DiskTotal capacity
usedPercentDiskPercentage of the volume used
freeGBDiskSpace left
pathDiskThe volume that was measured
batteryLevelBatteryPercentage
isChargingBatteryWhether it is plugged in

Example: warn when the disk fills up

Resource Monitor samples Disk Space every five minutes. Condition asks whether {{value}} is greater than 90. Yes goes to Notification.

Three nodes: sample the disk, ask the question, warn me.
Three nodes: sample the disk, ask the question, warn me.

Paste this into the Flow Builder to get the same flow:

Check my startup disk every five minutes and notify me when it is more than 90% full.

Good to know

value is the metric-agnostic number. It mirrors cpuUsage, memoryUsage, usedPercent or batteryLevel depending on the metric, so you can change the metric without rewiring the Condition downstream.

The flow streams from ▶, not from the Enabled toggle. An emitter-only flow is never armed by enabling it or by launching the app. Press ▶ on the canvas to start, ■ to stop.

Several emitters in one flow all stream. Pressing ▶ starts every enabled emitter on the canvas, unless the run-target switcher has scoped the Play to one chain.