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 reference › kpi: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.