мета-данные страницы
  •  

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
use_statistics_action [25.11.2019 06:01]
Анисютин
use_statistics_action [09.03.2020 08:21] (текущий)
Строка 1: Строка 1:
 ====== Статистика выполнения операций в модулях Агбис ====== ====== Статистика выполнения операций в модулях Агбис ======
  
-**Назначение**+===== Назначение ​=====
  
 Изучение интенсивности использования определенных операций системы:​ "​Запуск программы",​ клик в меню "​Клиенты"​ и т.п.\\ ​ Изучение интенсивности использования определенных операций системы:​ "​Запуск программы",​ клик в меню "​Клиенты"​ и т.п.\\ ​
Строка 8: Строка 8:
 //​Модуля обработки данных пока нет.// //​Модуля обработки данных пока нет.//
  
-<ifauth @programmers> ​ 
  
-**Схема выполнения задачи**+===== Этапы выполнения задачи ===== 
 + 
 +1. Формирование локальной статистики.\\  
 +2. Консолидация данных в базе AgbisLog.fdb.\\  
 +3. Первичная группировка данных.\\  
 +4. Формирование отчетов.\\  
 + 
 +==== 1. Формирование локальной статистики ==== 
 + 
 +=== Схема выполнения задачи ​===
  
 1. В обработчик выполнения операции добавляется процедура SetStatisticsAction из модуля DM, которая регистрирует событие выполнения операции в таблице STATISTICS_ACTION. 1. В обработчик выполнения операции добавляется процедура SetStatisticsAction из модуля DM, которая регистрирует событие выполнения операции в таблице STATISTICS_ACTION.
Строка 20: Строка 28:
 EventTime – Продолжительность выполнения операции в секундах\\ ​ EventTime – Продолжительность выполнения операции в секундах\\ ​
  
-**Пример**+=== Пример ​===
  
 SetStatisticsAction('​Кнопка на форме "​Обновление программы"','​Отмена установки обновления',​ 0, RdTr, UpTr, true);​\\ ​ SetStatisticsAction('​Кнопка на форме "​Обновление программы"','​Отмена установки обновления',​ 0, RdTr, UpTr, true);​\\ ​
  
-При выполнении процедуры SetStatisticsAction в таблице STATISTICS_ACTION заполняются поля\\  +При выполнении процедуры SetStatisticsAction в таблице STATISTICS_ACTION заполняются поля из параметров процедуры:​\\  
-из параметров процедуры:​\\  +  EVENT_GROUP = EventGroup – Наименование группы операций (Кнопка на форме "​Обновление программы"​)\\  
-EVENT_GROUP = EventGroup – Наименование группы операций (Кнопка на форме "​Обновление программы"​)\\  +  EVENT_NAME = EventName – Наименование операций (Отмена установки обновления)\\  
-EVENT_NAME = EventName – Наименование операций (Отмена установки обновления)\\  +  EVENT_TIME = EventTime – Продолжительность выполнения операции в секундах (0) \\  
-EVENT_TIME = EventTime – Продолжительность выполнения операции в секундах (0) \\  +и из параметров приложения:​\\  
-из параметров приложения:​\\  +  BASE_PATH = DMForm.Base.SelectedBase.BaseAlias – алиас базы данных\\  
-BASE_PATH = DMForm.Base.SelectedBase.BaseAlias – алиас базы данных\\  +  IP = DMForm.LocalIP – IP пользователя\\  
-IP = DMForm.LocalIP – IP пользователя\\  +  DEP_NAME = DMForm.DepName – Наименование подразделения\\  
-DEP_NAME = DMForm.DepName – Наименование подразделения\\  +  USER_NAME = DMForm.UserName – Логин пользователя\\  
-USER_NAME = DMForm.UserName – Логин пользователя\\  +  ROLE_NAME = DMForm.RoleName – Роль пользователя\\  
-ROLE_NAME = DMForm.RoleName – Роль пользователя\\  +  OS_NAME = DMForm.OSName – ОС на компьютере пользователя\\  
-OS_NAME = DMForm.OSName – ОС на компьютере пользователя\\  +  CLIENT_NAME – Наименование фирмы клиента из firms\\  
-CLIENT_NAME – Наименование фирмы клиента из firms\\  +  SCREEN_R – разрешение экрана\\  
-SCREEN_R – разрешение экрана\\  +  EXE_NAME = Application.ExeName – Наименование приложения\\  
-EXE_NAME = Application.ExeName – Наименование приложения\\  +  EXE_VERS = DMForm.ExeVersion – Версия приложения\\  
-EXE_VERS = DMForm.ExeVersion – Версия приложения\\  +  DT – время выполнения операции. 
-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]]\\  
  
-Структура таблицы в статье ​[[tab_STATISTICS_ACTION|ТД STATISTICS_ACTION - Статистика выполнения операций]] +[[ониторинг|Назад]]\\
-</​ifauth>​+