powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как собрать статистику по запуску программ
14 сообщений из 14, страница 1 из 1
Как собрать статистику по запуску программ
    #37820908
Denis S.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую.

За 30 лет работы в БД накопилось огромное количество программ. Многие из них уже не нужны, но перед генеральной чисткой хотелось бы убедиться в этом. Можно ли каким-либо образом собрать статистику по запускам программ так, чтобы не вносить в них изменения.

Самое простое - это добавить в программы код, который будет писать куда-нибудь дату-время/пользователя/количество запусков и т.п. при запуске программы. Но это очень трудоемко.

Может быть у кого-нибудь есть идеи как собрать статистику по запускам программ более легким способом?
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37820947
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно просто запустить ^PERFMON на какое то время, и вы получите список запускаемых программ и сколько там было выполнено строк кода
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37821101
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor ,

конечно, можно. Но это не гарантирует попадания в статистику всех используемых программ. Возможно, какая-то программа используется 1 раз в месяц (варианты: 1 раз в квартал, 1 раз в год...). Впрочем, автору виднее, есть ли у него такое.
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37821266
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, конечно не гарантирует, но я предложил по-моему самый простой вариант
другой вариант, это проанализировать цепочки вызовов. нужно писать анализатор вашего кода. смотреть что откуда вызывается. найти программы вызовов которых нет вообще. т.е. работы тут намного больше. и нужно очень хорошо понимать в целом всю архитектуру вашего приложения.
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37821271
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Documentation > System References > MSM to Cache Conversion... > MSM and Cache Utilities...%INDEX
Cache equivalent: Not Available
Purpose: Provides a cross-reference listing of one or more routines, and optionally provides a structured program listing of selected routines.Если перетащить эту утилитку в Cache, то вполне себе можно построить листинг перекрестных ссылок, по крайней мере, классических M-программ.
Помнится, утилитка была с исходником. Впрочем, за давностью могу и ошибаться.
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37821397
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey MaslovЕсли перетащить эту утилитку в Cache, то вполне себе можно построить листинг перекрестных ссылок, по крайней мере, классических M-программ.
Помнится, утилитка была с исходником. Впрочем, за давностью могу и ошибаться.
Листинг ссылок там не поможет.
Программы делались 30 лет (одно из неприятных свойств хорошей переносимости М-программ), авторы уже далече...
Всё делалось на работающем сервере (технология такая), поэтому две трети (или больше) этих программ - дубли с небольшими изменениями кода, соответственно, все попадут в листинг.
Плюс очень широкое использование FDBMS, также заполненного неиспользуемыми формами, всё это попадёт в ссылки...
Надо ^PERFMEN попробовать.
А что раз в месяц - аварийно востанавливать... (Попросить пользователей запустить такие режимы в день наблюдения).
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37821418
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov Documentation > System References > MSM to Cache Conversion... > MSM and Cache Utilities...%INDEX
Cache equivalent: Not Available
Purpose: Provides a cross-reference listing of one or more routines, and optionally provides a structured program listing of selected routines.Если перетащить эту утилитку в Cache, то вполне себе можно построить листинг перекрестных ссылок, по крайней мере, классических M-программ.
Помнится, утилитка была с исходником. Впрочем, за давностью могу и ошибаться.
Жаль, что такой способ не отследит вызовы через косвенность и xecute.
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37821530
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ser_shu (хотя скорее это вопрос к Denis S),

хочется спросить: ради чего столько работы, с риском остановки по <NOROUTINE> в самый неподходящий момент (хотя и подходящий для этого момент представить сложно ))?
Неужели нескольких сэкономленных мегабайт ради?

К тому же запущенный PERFMON, как вы, конечно, знаете, довольно ощутимо тормозит работу.
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37821575
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovК тому же запущенный PERFMON, как вы, конечно, знаете, довольно ощутимо тормозит работу.
Тормозит работу %SYS.MONLBL, PERFMON вроде не должен.
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37821624
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

основа у обеих утилит общая, если верить документации:
ДокументацияThe routine ^%SYS.MONLBL provides a user interface to the Caché MONITOR facility. This utility provides a way to diagnose where time is spent executing selected code in Caché ObjectScript and Caché Basic routines, helping to identify lines of code that are particularly resource intensive. It is an extension of the existing MONITOR utility accessed through ^PERFMON and the %Monitor.System package classes. Because these utilities share the same memory allocation, you can only run one of them at a time on a Caché instance.и обе ведут построчный учет выполнения программ, значит, и тормозить должны обе :)). Впрочем, %SYS.MONLBL проделывает бОльшую работу, и тормозит ощутимо сильнее.
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37821742
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Maslovser_shu (хотя скорее это вопрос к Denis S),
хочется спросить: ради чего столько работы...
Действительно, вопрос к Денису.
Мои предположения.
(знаком с ситуацией только постольку, что помогал запустить систему на новой версии Cache с перекодировкой из исо в виндоуз, в разработке не участвовал).
Проблема в сопровождении.
Насколько я представляю, разрабатывается новое приложение, расширяющее / заменяющее работающее, в режиме нонстоп.
Поэтому новые структуры и интерфейсы должны взаимодействовать с существующими.
Допустим, написали хороший графический интерфейс для описания площадей хранения с некоторыми новыми необходимыми свойствами.
Надо изъять старое описание площадей и немножко проверить/поправить работающие программы, чтобы использовались добавленные свойства, где требуется.
Запускаем поиск в программах по строке ^ADRES( и получаем 500 программ... (или 3000...)
Бодро начинаем их редактировать и понимаем, что многие из них просто не могут быть рабочими, так как структура другая, или мы что то упустили...
В конце мучений оказывается, что редактировать надо было меньше 100 программ...
Но удалять 400 нерабочих не решились - может они как то частично используются...
И если для площадей появится новое свойство, то придётся опять проверять 500 программ...
А по хорошему надо как то весь этот объём старого ПО урезать, чтобы переходить на новые интерфейсы и структуры.
Заменить полностью сразу не хватает сил и опыта.
Это моя версия проблемы. (Денис, извиняюсь, если не так).
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37823589
Denis S.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей все правильно описал.
8000 старых программ. Надо переписывать систему полностью в связи с тем, что крайне устарела. Для этого необходимо знать ее функционал, а общей картиной уже никто не владеет. Разобраться во всем нереально. Поэтому хотелось бы для начала тупо удалить то, что уже не используется, а уже оставшееся анализировать и модернизировать.

^PERFMEN думаю подойдет, спасибо.
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37841897
rstr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis S.,
Как мне кажется, нужно начинать с отчетов.
Пусть пользователи системы сообщат своим руководителям, какие отчеты они используют. Те дадут сводную информацию.
Далее можно посмотреть соответствующую структуру данных, из которых берутся эти отчеты.
Проектировать новое приложение нужно заново, какой бы не был искус перетащить "все как было".
Для ввода данных надо пересмотреть структуры, опираясь на знания реального постановщика задач.
На период внедрения можно прикрутить дополнительную запись в старые структуры.
Отчеты проектировать заново и сверять их со старыми отчетами.
Ну вот, все рассказал, что знал :)
...
Рейтинг: 0 / 0
Как собрать статистику по запуску программ
    #37841915
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstr,

Это все теория. А на практике никто не знает, почему так или иначе работает программа, если на нее не было соотвествующего описания, в том числе технологического (а не подписи к переменным). И в итоге пользователи говорят - хочу такие же цифры. И про отчеты их скорее всего бесполезно спрашивать. Т.е. может и не совсем бесполезно, но даже если они скажут и вы им поверите, то в лой момент они могут прискакать и сказать - "а вот было раньше, мы вспомнили и нам опять нужны эти данные"
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как собрать статистику по запуску программ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]