Программа Intersystems Cache для записи информации о процессе в файл в локальной системе?
Я заинтересован в создании подпрограммы, которая будет запрашивать текущие процессы кэширования, а затем записывать эту информацию в файл. Как это можно сделать в Cache 2008.2?
1 ответ
PERFMON может быть то, что вы ищете. Это приложение с собственным пользовательским интерфейсом, но вы можете вызывать его функции напрямую, как API.
Проверьте документы по кэшу на предмет "Руководства по мониторингу кэша". Это даст вам ссылки на документы PERFMON, а также на документы для других инструментов мониторинга системы.
Вы можете найти что-то полезное в справочнике классов, в пакетах%SYSTEM, %SYS и%Monitor.
Для получения некоторой информации о процессе вам может потребоваться оболочка для ОС. В этом случае проверьте функцию $ZF. Это позволит вам вызывать команды уровня os из Cache.
О, и вы можете захотеть сохранить данные процесса в Cache DB, а не выгружать их в файл. То есть создайте персистентный класс со свойствами, соответствующими каждому атрибуту процесса, который вы хотите захватить, затем напишите код для создания, заполнения и сохранения экземпляров этого класса, получая данные из PERFMON или любого другого источника, который вы выберете.
Если вы сделаете это, вы можете использовать Cache SQL для создания любого отчета, который вам нужен. (Кэш автоматически создает таблицу SQL, соответствующую вашему постоянному классу.) Кэш поддерживает ODBC, поэтому вы можете использовать для этой части внешний инструмент, например Crystal Reports или Access.
Очевидно, что это будет больше работы, чем просто вывод данных в файл, но потребуется некоторая структура, если вы собираетесь делать что-то интересное с информацией.