eval_parse

Diagnostic `nanook::admin::eval_parse`

Summary

{0}

Help

the expression failed to parse; see the underlying source span for the offending token

Details

When this fires

Runtime, from Dispatch::eval in crates/nanook-admin/src/dispatch.rs. The admin layer forwarded a nanook ctl eval <expr> to the engine, the engine handed it to Expr::parse_any, and the expression came back as a parse failure. The inner nanook_expr::ExprError carries the span pointing at the offending token.

What to check

The same parser the rule loader uses backs ctl eval, so anything that works in [[alerts]] expr = is fair game. Common parse failures are missing quotes on string literals, unbalanced parens, an unknown-named selector, or an aggregate without a window (write avg(cpu)[5m], not avg(cpu)).

nanook ctl eval 'cpu.usage >'   # invalid: missing right-hand side
nanook ctl eval 'cpu.usage > 90' # valid