monitor.deadman() function
monitor.deadman()
detects when a group stops reporting data.
It takes a stream of tables and reports if groups have been observed since time t
.
monitor.deadman()
retains the most recent row from each input table and adds a dead
column.
If a record appears after time t
, monitor.deadman()
sets dead
to false
.
Otherwise, dead
is set to true
.
Function type signature
(<-tables: stream[{B with _time: C}], t: A) => stream[{B with dead: bool, _time: C}] where A: Comparable, C: Comparable
Parameters
t
(Required) Time threshold for the deadman check.
tables
Input data. Default is piped-forward data (<-
).
Examples
- Detect if a host hasn’t reported since a specific time
- Detect if a host hasn’t reported since a relative time
Detect if a host hasn’t reported since a specific time
import "array"
import "influxdata/influxdb/monitor"
data =
array.from(
rows: [
{_time: 2021-01-01T00:00:00Z, host: "a", _value: 1.2},
{_time: 2021-01-01T00:01:00Z, host: "a", _value: 1.3},
{_time: 2021-01-01T00:02:00Z, host: "a", _value: 1.4},
{_time: 2021-01-01T00:03:00Z, host: "a", _value: 1.3},
],
)
|> group(columns: ["host"])
data
|> monitor.deadman(t: 2021-01-01T00:05:00Z)
Detect if a host hasn’t reported since a relative time
Use date.add()
to return a time value relative to a specified time.
import "influxdata/influxdb/monitor"
import "date"
from(bucket: "example-bucket")
|> range(start: -10m)
|> filter(fn: (r) => r._measurement == "example-measurement")
|> monitor.deadman(t: date.add(d: -5m, to: now()))
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.