Панел с инструменти за разработчици на InterSystems IRIS

Панел от допълнителни инструменти за наблюдение и разследване на грешки в приложения и решения за интеграция на платформата за данни InterSystems IRIS, платформата за интеграция Ensemble и Caché DBMS, или историята на друг велосипед.

В тази статия искам да говоря за приложението, което, заедно със стандартните инструменти за администриране, използвам всеки ден, за да наблюдавам приложения и интеграционни решения на платформата InterSystems IRIS и да намирам грешки, когато възникнат.
Решението включва преглед и редактиране на глобални масиви, изпълнение на заявки (включително JDBC/ODBC), изпращане на резултати от търсенето по имейл като компресирани XLS файлове. Преглед на обекти от клас с възможност за редактиране. Няколко прости графики за системни протоколи.

Това е CSP приложение, базирано на jQuery-UI, chart.js, jsgrid.js
Ако се интересувате, моля, вижте по-долу и в хранилище.

Всичко започна с изучаването на въпроса как да се регистрират промени в обекти в InterSystems IRIS, Ensemble и Caché DBMS.

След четене отлична статия за това, разклоних проект. и започна да го довършва за своите нужди.

Полученото решение е имплементирано като панелен подклас на %CSP.Util.Pane, който има главен команден прозорец и бутон Run, плюс настройки за прецизиране на командите.

Когато въведете „?“ получаваме кратко описание на тези команди:

Панел с инструменти за разработчици на InterSystems IRIS

Глобални

Моята най-честа команда е да прегледам глобалното. Като правило, това е глобален протокол при отстраняване на грешки в собствен или чужд проект. Можете да го видите в обратен ред, както и като приложите филтър както към връзката, така и към данните. Намерените възли могат да се редактират и изтриват:

Панел с инструменти за разработчици на InterSystems IRIS

Можете да изтриете целия глобален, като въведете минус ^logMSW- в командата след името.
Но по този начин можете да изтриете само глобали, започващи с ^log (протоколни глобали), т.е. Въведено е ограничение срещу случайно изтриване.

Ако въведете “*” след името, ще получите списък с глобални с допълнителни характеристики. Второто „*“ ще добави ново поле „Разпределени MB“, а друга звездичка ще бъде „Използвани MB“. Тази комбинация от два отчета и разделянето на „звездички“ се прави, за да раздели често дългоформиращия се отчет на заети блокове на големи глобали.

Панел с инструменти за разработчици на InterSystems IRIS

От тази таблица можете да следвате активни връзки, за да видите самия глобал или да го видите/редактирате по стандартния начин от портала за управление, като щракнете върху R или W в полето Permission.

искания

Преобразуване на отчет във формат Excel

Втората най-често използвана функция е изпълнението на заявка. За да направите това, въведете sql израза като команда.

Основното нещо, което ми беше достатъчно в стандартния портал за управление на системата, беше изпълнението на заявки към JDBC/ODBC източници, конфигурирани в СУБД и извеждане на резултатите в XLS формат, архивиране и изпращане на файла по имейл. За да направите това, в моя инструмент, преди да изпълните командата, трябва да активирате квадратчето за отметка „Изтегляне в Excel файл“.

Тази функция ми спестява много време в ежедневието ми и успешно интегрирам готови модули в нови приложения и интеграционни решения.

Панел с инструменти за разработчици на InterSystems IRIS

Но за да направите това, първо трябва да конфигурирате пътя за създаване на файлове на сървъра и идентификационните данни на потребителя и пощенския сървър; за това от своя страна трябва да редактирате възлите на глобалните програмни настройки ^%App.Setting .

Панел с инструменти за разработчици на InterSystems IRIS

Запазване на отчети глобално

Много често се налага резултатите от изпълнението на отчета да се записват глобално. За да направя това, използвам следните процедури:

За 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)

Панел с инструменти за разработчици на InterSystems IRIS

Модули с разширена функционалност

И второто подобрение, което значително опрости и автоматизира работата ми, е внедряването на възможност за изпълнение на специално написани модули при генериране на всеки ред на заявка. По този начин мога да вградя нова функционалност в отчета в движение с едно преминаване, например активни връзки за допълнителни операции с данни.

Пример 1: Работа с класа App.Parameter

Създайте параметър с помощта на „Навигатор на таблици“

Редактирайте параметър чрез „Опции“

Панел с инструменти за разработчици на InterSystems IRIS

Пример 2: Преглед на глобалното чрез връзката „История“.

Панел с инструменти за разработчици на InterSystems IRIS

Графики

Вдъхновена от статията [9] и за визуализиране на растежа на базите данни, беше създадена страница, която показва месечна графика на размерите на базите данни, създадени от файла iris.log (cconsole.log), използвайки „Разширяване“ записи ретроспективно от текущия ден.

Като пример в InterSystems IRIS е създадена и графика на събитието, която също се генерира от файла на протокола:

Панел с инструменти за разработчици на InterSystems IRIS

Връзки към материали:

[1] подсистема за регистриране в Kasha
[2] Незабавна каша - извършване на CRUD в Caché с помощта на jqGrid
[3] Алтернативни SQL мениджъри за СУБД Caché
[4] Примери за генериране и изпращане на имейл чрез Caché DBMS
[5] Кеш + jQuery. Бърз старт
[6] Внедряване на приложение
[7] UDL поддръжка
[8] Преглед на глобални данни в портала за управление на Caché
[9] Прометей с кеш
[10] Локализация в СУБД Caché

Благодаря на авторите на тези и други статии, които ми помогнаха да създам този инструмент.

PS Този проект се развива и много идеи все още не са реализирани. В близко бъдеще смятам да направя:

1. Шаблон за приложение върху рамката uikit
2. Автоматично документиране на кодовия формат Доксеген с интеграция в CStudio

Източник: www.habr.com

Добавяне на нов коментар