Задача Profiler — поиск действий нагружающих систему. При включении происходит запись каджого действия в системе в специальную таблицу с указанием параметров процесса.
В том числе можно записать процессы у которых была зафиксирована точка старта, но небыло окончания тк они завершились с ошибкой.
! Нельзя включать без необходимости. Profiler сам по себе генерирует большую нагрузку и огромный объем технических данных в базе данных.
В таблице settings
в поле h_pro_profiling
необходимо указать следующий массив:
{
"on": false,
"withNotif": false,
"withBroken": false,
"withErrors": false
}
Установите true
у on
и на конкретные опции, которые вы хотите записывать.
on — общий переключатель активности записи профиля.
withNotif — отслеживать процессы нотификаций и уведомлений об обновлении таблицы.
withBroken — включить в вывод данные об ошибках php
.
withErrors — сохранять с фаталами. В этом режиме он сначала создает строку, а по завершении ее обновляет, добавляя время завершения. При false
— пишет только при завершении процесса.
Чтение результатов осуществляется через таблицу ttm__profiling
. Задаете параметры поиска и выгружаете данные по кнопке h_get_data
.
Кнопка
h_clear_profile
удаляет все сохраненные данные профилирования для очистки базы данных!
start — время начала исполнения процесса.
stop — время окончания. Если процесс не смог выполнится по таймауту, здесь будет пустое значение (должен быть включен withErrors
).
time — разница между временем начала и временем окончания.
restarts — количество перезапусков процесса при ошибке одновременного доступа. Если вы видите множество перезапускаемых процессов — это значит выбрана неправильная архитектура и вам надо отследить таблицу в которой происходит конфликтный перезапуск и перепроектировать с возможностью установить Актуальность в положение Без отслеживания.
ram — количество затраченного процессом PHP оперативной памяти. Использование памяти postgresql здесь не логгируется.
userid — id пользователя запустившего процесс.
path — путь к таблице в которой находится точка старта процесса.
/Table/21/41/1/50/table
— загрузка таблицы без pagination./Table/21/41//table
— загрузка хедера таблицы с pagination./Table/21/41//loadPage
— загрузка строчной части в таблице с pagination./Table/21/41/6/50/getValue
— загрузка полного значения поля открываемого в окне./Table/21/41/6/50/checkInsertRow
— обработка строки добавления./Table/21/41/6/50/loadPreviewHtml
— генерация HTML-превью для Селектов./Table/21/41/6/50/add
— добавление строки./Table/21/41/6/50/refresh
— обновление таблицы./Table/21/42/loadTreeRows
— загрузка отображения tree-view./Table/1/6/edit
— изменение значения поля./Table/21/41/6/50//delete
— удаление строки./Table/0/1/getTableData
— изменение поля Администратором./Table/21/43/fileVersions
— открытие версий файлов./Table/21/43/checkEditRow
— открытие и изменение панели./Table/21/43/saveEditRow
— сохранение панели....
— и прочие варианты.
/Remotes/flood/table
— срабатывание Remote. flood
— это name ремоута.
/bin/totum/schema-crons//totum
— запуск над-процесса управления кронами./bin/totum/schema-cron/1/totum
— запуск конкретного крона. 1
— это id
крона.field_name — name поля, если действие было запущено из поля (например код-действия).
id_value — id строки в которой было запущенно действие. Если действие было в нестрочной части, то будет указано в какой.