мета-данные страницы
Статистика выполнения операций в модулях Агбис
Назначение
Изучение интенсивности использования определенных операций системы: «Запуск программы», клик в меню «Клиенты» и т.п.
Выделяются группы операций: «Запуск», «Клик в меню», «Помощь».
Модуля обработки данных пока нет.
Этапы выполнения задачи
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
По умолчанию настройка ВКЛЮЧЕНА
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. \\