Возможность
PromQL
AST-rewrite для multi-tenancy, autocomplete, lint, function hints.
Любой PromQL от пользователя парсится `prometheus/promql/parser`, обходится через `parser.Inspect`. На каждом VectorSelector и MatrixSelector матчеры label заменяются на merged set, где organization_id (и фильтры из embed claim) всегда побеждают. Tenant boundary держится на AST, а не на текстовых регексах. Редактор показывает автокомплит метрик + builtins и signature hints функций.
Ключевые свойства
- ✓AST-rewrite — невозможно «обойти» organization_id даже явным указанием
- ✓Live-lint через /api/v1/promql/validate
- ✓Autocomplete: метрики org + builtin функции/агрегации
- ✓Function arg hints (`rate(v range-vector) → instant-vector`)
- ✓Regex-токенайзер с highlighting (без CodeMirror — 200 KB сэкономлено)