Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 5, 2019 10:50:39

SergeyChmutov
Зарегистрирован: 2017-08-04
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Как эффективно читать логи?

py.user.next
Это и замедляет скорость, и даёт неточность, и усложняет код через усложнение алгоритма анализа. Не надо искать в файлах. Это сырые данные. Надо их привести к очищенным данным и искать в очищенных то, что нужно найти.
Кстати чтение файла частями и поиск границы запрашиваемого периода в сырых данных занимает меньше времени. Т.к. я могу по одной записи понять, есть ли в этих 8 Кб нужные мне события и откинуть весь кусок, если он мне не подходит.

Офлайн

#2 Сен. 5, 2019 10:50:59

SergeyChmutov
Зарегистрирован: 2017-08-04
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Как эффективно читать логи?

doza_and
Для логов нужны не совсем базы данных. Это даже скорее не базы данных.
Спасибо, почитаю на досуге

Офлайн

#3 Сен. 5, 2019 12:44:50

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10024
Репутация: +  857  -
Профиль   Отправить e-mail  

Как эффективно читать логи?

SergeyChmutov
Т.к. я могу по одной записи понять, есть ли в этих 8 Кб нужные мне события и откинуть весь кусок, если он мне не подходит.
Я про это и говорю. Если ты откинешь весь кусок, да даже если не откинешь, то у него в конце может оказатся день из даты. При этом месяц из этой же даты будет в следующем куске. Так ты пропустишь одну запись, которая может вполне подходить под критерий нужной, и даже не узнаешь об этом. Поэтому-то и нужно сначала гарантировать получение целостных записей, а уже потом с целостными записями работать. И вот для этого нужен уровень преобразования сырых данных с поблочным чтением в последовательность точно отделённых друг от друга записей.



Офлайн

#4 Сен. 5, 2019 15:22:23

SergeyChmutov
Зарегистрирован: 2017-08-04
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Как эффективно читать логи?


py.user.next
Я про это и говорю. Если ты откинешь весь кусок, да даже если не откинешь, то у него в конце может оказатся день из даты. При этом месяц из этой же даты будет в следующем куске. Так ты пропустишь одну запись, которая может вполне подходить под критерий нужной, и даже не узнаешь об этом. Поэтому-то и нужно сначала гарантировать получение целостных записей, а уже потом с целостными записями работать. И вот для этого нужен уровень преобразования сырых данных с поблочным чтением в последовательность точно отделённых друг от друга записей.
Ну я просто не до конца описывал логику работы. Там да, я вычитываю часть файла, с конца беру целую строку, высчитываю длинну “битой” строки. И потомделаю смещение с учетом битой строки

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version