Статистика выполнения операций в модулях Агбис

Назначение

Изучение интенсивности использования определенных операций системы: «Запуск программы», клик в меню «Клиенты» и т.п.
Выделяются группы операций: «Запуск», «Клик в меню», «Помощь».

Модуля обработки данных пока нет.

Этапы выполнения задачи

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. \\ 

Таблицы