Панел от допълнителни инструменти за наблюдение и разследване на грешки в приложения и решения за интеграция на платформата за данни InterSystems IRIS, платформата за интеграция Ensemble и Caché DBMS, или историята на друг велосипед.
В тази статия искам да говоря за приложението, което, заедно със стандартните инструменти за администриране, използвам всеки ден, за да наблюдавам приложения и интеграционни решения на платформата InterSystems IRIS и да намирам грешки, когато възникнат.
Решението включва преглед и редактиране на глобални масиви, изпълнение на заявки (включително JDBC/ODBC), изпращане на резултати от търсенето по имейл като компресирани XLS файлове. Преглед на обекти от клас с възможност за редактиране. Няколко прости графики за системни протоколи.
Това е CSP приложение, базирано на
Ако се интересувате, моля, вижте по-долу и в
Всичко започна с изучаването на въпроса как да се регистрират промени в обекти в InterSystems IRIS, Ensemble и Caché DBMS.
След четене
Полученото решение е имплементирано като панелен подклас на %CSP.Util.Pane, който има главен команден прозорец и бутон Run, плюс настройки за прецизиране на командите.
Когато въведете „?“ получаваме кратко описание на тези команди:
Глобални
Моята най-честа команда е да прегледам глобалното. Като правило, това е глобален протокол при отстраняване на грешки в собствен или чужд проект. Можете да го видите в обратен ред, както и като приложите филтър както към връзката, така и към данните. Намерените възли могат да се редактират и изтриват:
Можете да изтриете целия глобален, като въведете минус ^logMSW- в командата след името.
Но по този начин можете да изтриете само глобали, започващи с ^log (протоколни глобали), т.е. Въведено е ограничение срещу случайно изтриване.
Ако въведете “*” след името, ще получите списък с глобални с допълнителни характеристики. Второто „*“ ще добави ново поле „Разпределени MB“, а друга звездичка ще бъде „Използвани MB“. Тази комбинация от два отчета и разделянето на „звездички“ се прави, за да раздели често дългоформиращия се отчет на заети блокове на големи глобали.
От тази таблица можете да следвате активни връзки, за да видите самия глобал или да го видите/редактирате по стандартния начин от портала за управление, като щракнете върху R или W в полето Permission.
искания
Преобразуване на отчет във формат Excel
Втората най-често използвана функция е изпълнението на заявка. За да направите това, въведете sql израза като команда.
Основното нещо, което ми беше достатъчно в стандартния портал за управление на системата, беше изпълнението на заявки към JDBC/ODBC източници, конфигурирани в СУБД и извеждане на резултатите в XLS формат, архивиране и изпращане на файла по имейл. За да направите това, в моя инструмент, преди да изпълните командата, трябва да активирате квадратчето за отметка „Изтегляне в Excel файл“.
Тази функция ми спестява много време в ежедневието ми и успешно интегрирам готови модули в нови приложения и интеграционни решения.
Но за да направите това, първо трябва да конфигурирате пътя за създаване на файлове на сървъра и идентификационните данни на потребителя и пощенския сървър; за това от своя страна трябва да редактирате възлите на глобалните програмни настройки ^%App.Setting .
Запазване на отчети глобално
Много често се налага резултатите от изпълнението на отчета да се записват глобално. За да направя това, използвам следните процедури:
За JDBC:
##class(App.sys).SqlToDSN
За ODBC:
##class(App.sys).SaveGateway
За SQL изрази:
##class(App.sys).SaveSQL
За запитване:
##class(App.sys).SaveQuery
Например, ако в панела командата
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Нека запазим резултата от заявката за отчитане на използването на лиценза в масива ^GN и можете да видите какво е запазено в панела с командата: result ^GN("%SYSTEM.License:Counts",0)
Модули с разширена функционалност
И второто подобрение, което значително опрости и автоматизира работата ми, е внедряването на възможност за изпълнение на специално написани модули при генериране на всеки ред на заявка. По този начин мога да вградя нова функционалност в отчета в движение с едно преминаване, например активни връзки за допълнителни операции с данни.
Пример 1: Работа с класа App.Parameter
Създайте параметър с помощта на „Навигатор на таблици“
Редактирайте параметър чрез „Опции“
Пример 2: Преглед на глобалното чрез връзката „История“.
Графики
Вдъхновена от статията [9] и за визуализиране на растежа на базите данни, беше създадена страница, която показва месечна графика на размерите на базите данни, създадени от файла iris.log (cconsole.log), използвайки „Разширяване“ записи ретроспективно от текущия ден.
Като пример в InterSystems IRIS е създадена и графика на събитието, която също се генерира от файла на протокола:
Връзки към материали:
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
Благодаря на авторите на тези и други статии, които ми помогнаха да създам този инструмент.
PS Този проект се развива и много идеи все още не са реализирани. В близко бъдеще смятам да направя:
1. Шаблон за приложение върху рамката
2. Автоматично документиране на кодовия формат
Източник: www.habr.com