29.09.2021 12:45
OlegON
 
Есть самописный отчет (FR) для Супермага. И есть необходимость собрать статистику его использования. То есть пользуется ли им вообще кто-нибудь.
Что-то мне мало способов в голову для этого приходит :
1) Встроить в отчет процедуру журналирования, самый простой, но исходим из того, что исходников нет или квалификации на месте для того, чтобы это проделать
2) Включить на файловой системе Access time и смотреть, меняется ли оно. Не нравится тем, что тронуть файл может кто угодно и без использования отчета, а на терминальном сервере такой способ может повлечь избыточную нагрузку.
3) Ловить запуск отчета чем-то вроде Касперского
4) Сломать отчет (убрать файл или права на выполнение) и ждать, пока кто-то прибежит ругаться

Есть еще какие-то идеи?
29.09.2021 12:57
Mtirt
 
Если отчет строится процедурой в базе, то смотреть, сколько раз ее вызывали?
29.09.2021 13:26
vdm
 
Если возможен аудит вызова процедуры, то можно попробовать отследить через проверку прав юзера на отчет.
СМ при открытии диалога параметров отчета проверяет права - вызывается процедура Supermag.SMBeginActionEx,
где вторым параметром идет номер раздела из SMClientApps (12,17 - отчеты), третий параметр - номер отчета из SMReps.
Правда диалог это еще не запуск на выполнение.
29.09.2021 13:52
OlegON
 
Цитата:
Mtirt смотреть, сколько раз ее вызывали?
Хороший вариант, но, к сожалению, сильно завязан на ребуты базы и т.п. Да и разобрать сам отчет придется порядком, чтобы понять, что искать...
Думаю, что если уж так погружаться, то проще было бы саму процедуру поправить и вставить туда аудит вызова.
Цитата:
vdm Supermag.SMBeginActionEx
Только эта процедура где только не вызывается и в достаточно высоком темпе, чтобы я на более-менее нагруженном сервере рискнул бы в нее аудит добавлять. А так - общую статистику по отчетам вообще можно собрать, да, спасибо.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.