Сергей Еремин:
чистить не значит всё удалять.
а в линуксах logrotate для файлов есть, в пару строк прицепляется.
> Хранить что угодно
Ответ такой же: хранить где угодно
Зависит от того что конкретно и для каких целей.
Если надо будет выборку потом сделать по юзеру/действию/минутам/часам, то очевидно удобнее использовать базу данных.
Если чисто для "дебага" то текстовые логи с logrotate.
Если какие-то супер большие и хитровымудренные логи для мониторинга и аналитики(?), то есть некая связка logstash kibana elasticsearch (elk stack). Не пользовался, не читал особо, но все прям поклоняются этому. Какие конкретно задачи делает тоже толком не скажу, может наврал. https://www.digitalocean.com/community/tutorials/h...
Rsa97: в 2008 году только, почтивчера, у меня старая инфа :)
Xomyak007: это уже забивание гвоздей микроскопом. Браузер отлично умеет показывать pdf.
Зачем делать это в виде картинок или тем более на JS реализацией.
Ну если хочется как-то "красиво", то да переводить в картинки или в html.
Конвертеров куча, тут уже на вкус и цвет.
Kanasimy: именно, подгружают квадратами с сервера, по зум не максимальный, только потом "реальные данные".
Ну это не то чтобы прям большая сложная вещь.
Получить 4 координаты углов и узнать входит ли в этот квадрат то что в базе.
Точнее вытащить то что <=/>= полученных углов.
Ничего сверхъестественного.
Alexander Gutnikov:
Это слайдер на главной - дальше пролистайте :D
там из коробки очень много метрик: nginx, postgre/mysql, cpu, сбор данных navigation timing api и т.п. Как в munin практически или даже больше.
Но представление данных в персентилях, что чуть полезнее чем в мунине.
А так же возможность оповещений для критических параметров.
Ну и свои можно любые метрики делать на основе.
Алексей Уколов: так что основные метрики только в сеть/днс/скоростьзагрузки упираются.
Можно на клиенте измерять конечно таймерами, но очень фиг знает что там будет.
А так для этого есть уже готовые реализации
Например это, в которую я уже не один раз контрибутил и использую https://github.com/Valve/fingerprintjs2