fix: битый ts не роняет разряжение и ответ истории; индекс для чистки журнала
Одна строка с неразбираемым ts роняла весь проход разряжения (ValueError из
_bucket и _bucket_bounds) и заодно весь ответ истории. Теперь такие строки
пропускаются: бакет с непонятным ключом не трогаем совсем (иначе границы,
склеенные из чужого формата, не совпали бы со строками БД), точку в ответ не
отдаём — поставить её на ось всё равно нечем. ts пишет только ingest, и только
через _iso, так что взяться таким строкам неоткуда — но одна строка не должна
останавливать обслуживание.

И индекс events(ts): чистка журнала по возрасту идёт раз в 15 с, без индекса
каждый прогон сканировал всю таблицу (на 100 тыс. строк ~11 мс, то есть ~64 с
CPU в сутки). План стал SEARCH events USING INDEX idx_events_ts.
1 parent 3a305ee commit 2ecc1c0db9e4d478cd3af33696ee5049dc95c4cf
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 6 hours ago
Showing 2 changed files
View
panel/backend/app/metrics_retention.py
View
panel/backend/app/schema.sql