|
fix: битый ts не роняет разряжение и ответ истории; индекс для чистки журнала
Одна строка с неразбираемым ts роняла весь проход разряжения (ValueError из _bucket и _bucket_bounds) и заодно весь ответ истории. Теперь такие строки пропускаются: бакет с непонятным ключом не трогаем совсем (иначе границы, склеенные из чужого формата, не совпали бы со строками БД), точку в ответ не отдаём — поставить её на ось всё равно нечем. ts пишет только ingest, и только через _iso, так что взяться таким строкам неоткуда — но одна строка не должна останавливать обслуживание. И индекс events(ts): чистка журнала по возрасту идёт раз в 15 с, без индекса каждый прогон сканировал всю таблицу (на 100 тыс. строк ~11 мс, то есть ~64 с CPU в сутки). План стал SEARCH events USING INDEX idx_events_ts. |
|---|
|
|
| panel/backend/app/metrics_retention.py |
|---|
| panel/backend/app/schema.sql |
|---|