Это обычный модуль Apache 2.x для Linux:

  • модуль предназначен для сбора и накопления статистики по использованию ресурсов(CPU и memory, время выполнения скрипта и пр.) веб-сервером Apache 2.4/2.2/2.0;

  • модуль позволяет производить анализ собранных данных. Он позволяет отслеживать за тем, сколько ресурсов потребляет поступивший веб-серверу запрос. Каждый раз сохраняя следующую информацию:

  • виртуальный хост, которому поступил запрос;

  • файл, который запрашивается;

  • URI запроса;

  • CPU нагрузка в %;

  • использование памяти в %;

  • время обработки запроса.

А накопившуюся статистику — позволяет анализировать. В качестве базы данных для сохранения и анализа используется SQLite (MySQL, PostgreSQL, error_log). Модуль позволяет отслеживать как абсолютно все запросы, так и конкретные, отфильтрованные по правилу с помощью регулярных выражений. Точнее будет сказано, что модуль ВСЕГДА обрабатывает только те запросы, которые соответствуют фильтру, содержащему регулярное выражение

Читать далее...

Пусть необходимо отладить процесс, запускаемый из другого процесса и быстро завершающийся.

Пример: нужно отладить расширение PHP, PHP настроен как cgi, т.е процесс запускается при появлении запроса и быстро завершается.

В отладке поможет systemtap.

Читать далее...

Задача: сделать на Си связный отсортированный список с ограниченным размером или хэш-таблицу, необходимо, что весь список занимал не более N байт в куче (стек не считается).

Реализация

Возможные варианты: 1) сделать счетчик сколько выделено и освобождено и при достижении значения не выделять больше, т.е написать враппер для malloc, calloc, realloc; 2) выделить массив нужного размера и все операции по размещению элементов делать в этом массиве, проверяя границы; 3) поискать готовое решение по реализации хэш, массивов или списков на ограниченном участке памяти.

Первый вариант неплох, второй неудобен и требует много кода и отладки, поробуем тертий.

Есть библиотека inarray-allocator(https://brepo.ru/post/inarray-allocator-hash-dinamicheskij-massiv-malloc-svyaznyj-spisok-koljcevoj-bufer-v-shared-memory-ili-v-ukazannom-massive-bajt), которая позволит реализовать такой функционал.

Читать далее...

BayZR - утилита позволяющая собирать данные статических анализаторов кода и формировать единый отчет о результате проверки. Отчет может быть предоставлен как в кратком виде для дальнейшей его обработки, так и в расширенном виде - текст с комментариями или html формат.

BayZR прежде чем запустить анализатор кода пытается найти с какими параметрами собирается каждый файл проекта, и после этого в формате, понятном для конкретного анализатора кода, передает собранные параметры по каждому файлу.

Читать далее...

Для работы mod_performance с любым типом php(кроме dso) необходимо использовать расширение php: modperf_ext.so. Расширение доступно в исходниках mod_performance, а так же в репозитории:

echo -e "[repomanager-bayrepo_prod]
name=bayrepo repo on repo.brepo.ru
baseurl=https://repo.brepo.ru/repo/bayre...

Читать далее...