Lattice Grid Buy a licence

KPI ยท console.warn

config.ageBy {named} read no time from any of the panel's {n} rows, so the panel cannot tell a silent feed from a live one and grades every tile as usual - check it against the rows (or the bound grid's column ids), or drop `ageBy` to measure arrival time instead.

Printed by KPI, prefixed [lattice], since 1.70.0.

Warnings referencekpi:age-clock:*

Identifier
kpi:age-clock:*
Raised by
KPI
Since
1.70.0

What happened

The panel holds rows, and ageBy produced no readable timestamp from a single one of them - a field name that is not there, or values that do not parse as a time. Freshness therefore cannot be judged: the panel behaves as it would with no maxAge at all and grades every tile normally, which means a feed that has gone silent will not be reported.

The fix

Check the field name against the rows (or the bound grid's column ids), and check that the values parse - epoch milliseconds, a Date, or an ISO string. Dropping ageBy falls back to measuring when rows arrived at the panel, which needs no field at all.

The smallest fix

createKPI(el, { grid, tiles, ageBy: (row) => Date.parse(row.updatedAt), maxAge: 60000 });

Reference

Covered in full at the API reference.