LMDB как замена Berkeley DB

Понаблюдав за BDB, выяснили что не так уж все и хорошо.

Во-первых он (она?) оказался довольно хрупким. При неожиданных выключениях иногда заклинивает, не может открыть базу, приходится удалять все и пересоздавать таблицу заново. Это не очень страшно, в таблицах у нас все равно агрегированные данные, но как-то неаккуратненько.

Во-вторых он неожиданно оказался бинарно несовместим версиями. Созданный в Линуксе версией 4.6 файл в Виндовсе с версией 4.8 отказался открываться, ошибка какая-то невнятная. С этим тоже можно жить, но как-то опять же некрасиво.

Прогресс в портировании под Windows - 2

Xenoeye заработал под Windows (32-битный XP, собирался MinGW с pthreads-win32). Пока все еще очень сыро, при первом беглом осмотре обнаружились баги в управлении пользователями (но там все понятно, особенности stdio, надо брать и исправлять), почему-то парсер сломался на рабочей конфигурации, которую генерировали в линуксе (CR/LF?), и еще не тестировали собственно коллекционирование и анализ. То есть фактически только посмотрели на GUI. Тем не менее веха, не мог не написать

Tags:

Прогресс в портировании под Windows

Версия в trunk уже собирается под Windows (32-бита). Еще не работает, что-то похоже с инициализацией winsock. Но в целом довольно гладко идет, платформы постепенно унифицируются, каких-то таких сложных затыков фактически и не было

Tags:

0.0.4

Пожалуй, можно уже пометить как 0.0.4. Сил хватило даже на какую-то зачаточную документацию. К 0.0.5 хочется получить нативный порт под Windows, возможно какие-то бинарные сборки для линуксов, пофиксить баги и почистить код

Почти 0.0.4

Пользователи, развесистые чарты, таблицы с сортировками уже (вроде бы) работают, то есть практически готова 0.0.4 версия.

Текущее

В таблицах появился порядок, сортируется так как задано пользователем.

Пофиксили адовый баг с CIDR-префиксом, он как-то неожиданно всплыл.

Появились отчеты в виде чартов, баров и таблиц. Графики пока не даются, да и остальные так себе сделаны, нужен как минимум какой-то, э-э, визард

0.0.3

Внезапно получилось без особых сложностей запустить на 64 битах. То есть все задачи выполнены и приступаем к 0.0.4. Хочется получить:

- Пользователей (сейчас фактически один пользователь, да и тот администратор)
- Правильный порядок сортировки в отчетных таблицах
- Отчеты в виде таблиц, графиков и чартов

Еще текущее

Результаты агрегации (таблицы) теперь хранятся в (Oracle) Berkeley DB базах данных. Btree, никакого тюнинга. Профайлер показывает что половина времени выполнения это как раз вставка в эту БД. Еще почти половина - localtime_r.

Основные утечки памяти вроде бы устранены. Valgrind, по крайней мере почти не возмущается.

На 64 битах всплыл баг в парсере. Оказывается, в последнем вызове Parse (это из lemon parser generator) в параметре не передавался контекст. Непонятно, как оно до этого работало.

Текущее

Перешли на autotools. CMake, несмотря на восторженные отзывы евангелистов, не впечатлил.
trunk уже умеет "умно" обновлять страницу со списком таблиц. До этого после каждого AJAX-запроса список таблиц строился заново. Теперь, если изменился только процент обработки таблицы, обновляется только индикатор прогресса. Ну и еще частота запросов, если не было изменений, постепенно затухает и доходит до одного AJAX-запроса в 5 секунд. Как только изменения появились, опять опрашивает часто.

Без libevent

Коллектор, как и обещали, заработал без libevent


$ ldd xenoeye
linux-gate.so.1 => (0xb7747000)
libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb75d9000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb75c0000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7478000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7474000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7460000)
/lib/ld-linux.so.2 (0xb7748000)

Pages

Subscribe to xenoeye.com RSS