⟵ сюдатуда ⟶
  • Quick start
  • Установка MIT
  • Установка PRO
  • Обновления
  • Оптимизация
  • Обновление v4-v5
  • Бэкапы
  • Консольная утилита bin/totum
  • Основы для пользователей
  • Интерфейс и компоновка
  • Таблицы и их параметры
  • Префильтр
  • Поля и их параметры
  • Синтаксис
  • Код, действия, форматирование
  • Реляционные взаимосвязи
  • Порядок расчета и единицы пересчета
  • Автозаполнение расчетных и временных
  • Дублирование строк и циклов
  • Сравнения
  • Функции
  • Отладка
  • Печать и CSV
  • API
  • Роли и пользователи
  • Нотификации
  • Действия по расписанию
  • Системные таблицы
  • [PRO] Деревья
  • [PRO] Анонимные таблицы
  • [PRO] Внешние формы
  • [PRO] Экспорт и импорт таблиц
  • [PRO] MeiliSearch
  • [PRO] Базы данных
  • [PRO] Настройка CSS
  • [PRO] Custom docs
  • [PRO] LDAP AD
  • [PRO] Версии файлов
  • [PRO] List-unsubscribe
  • [PRO] Динамические поля
  • [PRO] Only Office
  • [PRO] Auth Tokens
  • [PRO] 2FA
  • [PRO] Superlang
  • [PRO] Daemons
  • [PRO] Profiler
  • Активация
  • Чтение
  • Отслеживаемые параметры
  • [PRO] Подключение функций
  • [SRV] Установка и подключение
  • [SRV] Экспорт, pdf, загрузка и предпросмотр
  • [SRV] XLSX/DOCX генераторы
  • PRO Профилирование нагрузки

    Задача 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 строки в которой было запущенно действие. Если действие было в нестрочной части, то будет указано в какой.