====== Статистика выполнения операций в модулях Агбис ====== ===== Назначение ===== Изучение интенсивности использования определенных операций системы: "Запуск программы", клик в меню "Клиенты" и т.п.\\ Выделяются группы операций: "Запуск", "Клик в меню", "Помощь". //Модуля обработки данных пока нет.// ===== Этапы выполнения задачи ===== 1. Формирование локальной статистики.\\ 2. Консолидация данных в базе AgbisLog.fdb.\\ 3. Первичная группировка данных.\\ 4. Формирование отчетов.\\ ==== 1. Формирование локальной статистики ==== === Схема выполнения задачи === 1. В обработчик выполнения операции добавляется процедура SetStatisticsAction из модуля DM, которая регистрирует событие выполнения операции в таблице STATISTICS_ACTION. Параметры процедуры SetStatisticsAction EventGroup – Наименование группы операций\\ EventName – Наименование операций\\ EventTime – Продолжительность выполнения операции в секундах\\ === Пример === SetStatisticsAction('Кнопка на форме "Обновление программы"','Отмена установки обновления', 0, RdTr, UpTr, true);\\ При выполнении процедуры SetStatisticsAction в таблице STATISTICS_ACTION заполняются поля из параметров процедуры:\\ EVENT_GROUP = EventGroup – Наименование группы операций (Кнопка на форме "Обновление программы")\\ EVENT_NAME = EventName – Наименование операций (Отмена установки обновления)\\ EVENT_TIME = EventTime – Продолжительность выполнения операции в секундах (0) \\ и из параметров приложения:\\ BASE_PATH = DMForm.Base.SelectedBase.BaseAlias – алиас базы данных\\ IP = DMForm.LocalIP – IP пользователя\\ DEP_NAME = DMForm.DepName – Наименование подразделения\\ USER_NAME = DMForm.UserName – Логин пользователя\\ ROLE_NAME = DMForm.RoleName – Роль пользователя\\ OS_NAME = DMForm.OSName – ОС на компьютере пользователя\\ CLIENT_NAME – Наименование фирмы клиента из firms\\ SCREEN_R – разрешение экрана\\ EXE_NAME = Application.ExeName – Наименование приложения\\ EXE_VERS = DMForm.ExeVersion – Версия приложения\\ DT – время выполнения операции. ==== 2. Консолидация данных в базе AgbisLog.fdb ==== === 2.1. Настройки === Добавить в AgentSettings.ini\\ 2.1.1. Для **агента** на сервере клиента настройка должна быть включена настройка **"Отправлять статистику событий"** для разрешения экспорта журнала использования определенных операций системы [SendStatistic] \\ SendStatEvent=true По умолчанию настройка ВКЛЮЧЕНА\\ {{:agbisagentgui_sendstatevent.png}}\\ 2.1.2. Для **агента менеджера проектов** настройка разрешения импорта файлов с FTP-сервера\\ [AgbisLog] ImportLogFromFtp=true По умолчанию настройка ВЫКЛЮЧЕНА ImportLogFromFtp=false\\ === 2.2. Схема выполнения задачи === 2.2.1. В агенте на сервере клиента, если включена настройка ****"Отправлять статистику событий"****, запускается формирование XML-файлов с данными из таблицы **statistics_action** и данными сервера, которые отправляются по ftp. \\ За отправку данных отвечает объект **TSendStatisticTask**.\\ Отправка данных выполняется **1 раз в час**.\\ Выбираются все записи, за исключением уже отправленных ранее (is_send=0)\\ В XML добавляются все поля записи кроме "is_send" и в каждой записи добавляются поля "GUID" - "GUID из настроек агента" и "GUIDlic" - "GUID лицензии" для однозначной идентификации источника данных в сводной таблице.\\ Создается XML-файл с префиксом **"stat_action_"** с таблицей, который отправляется на ftp-сервер "agbis.ru"\\ 2.2.2. В агенте для менеджера проектов, если включена настройка **ImportLogFromFtp**, XML-файлы забираются с FTP и импортируются в AgbisLog.fdb в таблицу ActionLog.\\ За импорт данных отвечает объект **TLoadStatisticTask**.\\ Импорт данных выполняется **1 раз в час**.\\ За один раз принимается не более **i_MaxCount**=100 7z-файлов.\\ 2.2.1. Подключение к FTP.\\ 2.2.2. Получение списка файлов по маске **stat_action_*.7z** \\ 2.2.2.1. Копирование файлов в папку clPathTmp:=GetOwnDir+'Temp\';\\ 2.2.3. ImportActionLogFromFile - Импорт лога из файла 7z в БД \\ 2.2.3.1. Распаковка 7z-файла и получение списка XML-файлов\\ 2.2.3.2. Загрузка XML-файла\\ 2.2.3.3. Для каждой записи XML-файла с rlNode.Name='STATISTICS_ACTION' создается запись в таблице ActionLog\\ 2.2.3.4. Удаление XML-файла\\ 2.2.4. Отметка на удаление файла на FTP. \\ 2.2.5. Удаление локальной копии файла.\\ 2.2.6. Удаление файла с FTP. \\ ===== Таблицы ===== [[:statistics_action]]\\ [[:actionlog]]\\ [[:мониторинг|Назад]]\\