Ytterligare verktygsfält för utvecklare på InterSystems IRIS

Панель дополнительных инструментов для мониторинга и исследования ошибок приложений и интеграицонных решений на платформе данных InterSystems IRIS, интеграционной платформе Ensemble и СУБД Caché, или история еще одного велосипеда.

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

Это CSP-приложение, на основе jQuery-UI, chart.js, jsgrid.js
Если интересно, то прошу под кат и в förvaret.

Allt började med att studera frågan om hur man loggar ändringar av objekt i InterSystems IRIS, Ensemble och Caché DBMS.

Efter läsning utmärkt artikel об этом, я форкнул projektet. och började göra klart det för hans behov.

В результате получилось решение, которое реализовано как панель подкласса %CSP.Util.Pane, в котором есть основное окно для команд и кнопка «Выполнить», плюс настройки уточнений для команд.

При вводе “?” получаем краткое описание этих команд:

Ytterligare verktygsfält för utvecklare på InterSystems IRIS

Globals

Самая частая моя команда — просмотр глобала. Как правило это глобал протокола при отладке своего или чужого проекта. Его можно посмотреть и в обратном порядке, а также наложив фильтр как на ссылку, так и на данные. Найденные узлы можно редактировать и удалять:

Ytterligare verktygsfält för utvecklare på InterSystems IRIS

Du kan ta bort hela den globala genom att ange minus ^logMSW- i kommandot efter namnet.
Men på detta sätt kan du bara ta bort globaler som börjar med ^log (protokollglobaler), d.v.s. En begränsning mot oavsiktlig radering har implementerats.

Om du anger "*" efter namnet får du en lista över globaler med ytterligare egenskaper. Den andra "*" kommer att lägga till ett nytt fält "Allokerad MB", och en annan asterisk kommer att vara "Använd MB". Denna kombination av två rapporter och uppdelningen i "asterisker" görs för att dela upp den ofta långvariga rapporten i upptagna block av stora globala.

Ytterligare verktygsfält för utvecklare på InterSystems IRIS

Från denna tabell kan du följa aktiva länkar för att se själva globala eller för att se/redigera den på vanligt sätt från hanteringsportalen genom att klicka på R eller W i fältet Tillstånd.

förfrågningar

Konvertera en rapport till Excel-format

Вторая функция, по частоте использования, это выполнение запросов. Для этого sql-утверждение вводим в качестве команды.

Det viktigaste som räckte för mig i den vanliga systemhanteringsportalen var att köra frågor på JDBC/ODBC-källor konfigurerade i DBMS och mata ut resultaten i XLS-format, arkivera och skicka filen via e-post. För att göra detta, i mitt verktyg, innan du kör kommandot, måste du aktivera kryssrutan "Ladda ner till Excel-fil".

Denna funktion sparar mig mycket tid i min dagliga rutin, och jag har framgångsrikt integrerat färdiga moduler i nya applikationer och integrationslösningar.

Ytterligare verktygsfält för utvecklare på InterSystems IRIS

Men för att göra detta måste du först konfigurera sökvägen för att skapa filer på servern och autentiseringsuppgifterna för användaren och e-postservern; för detta måste du i sin tur redigera noderna för de globala programinställningarna ^%App.Setting .

Ytterligare verktygsfält för utvecklare på InterSystems IRIS

Spara rapporter globalt

Mycket ofta är det nödvändigt att spara resultaten av rapportexekveringen globalt. För att göra detta använder jag följande procedurer:

Для JDBC:
##class(App.sys).SqlToDSN

För ODBC:
##class(App.sys).SaveGateway

Для SQL выражений:
##class(App.sys).SaveSQL

För fråga:
##class(App.sys).SaveQuery

Например, если в панели командой
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Låt oss spara resultatet av begäran om räkning av licensanvändning i ^GN-matrisen, och du kan se vad som sparades i panelen med kommandot: result ^GN("%SYSTEM.License:Counts",0)

Ytterligare verktygsfält för utvecklare på InterSystems IRIS

Utökade funktionalitetsmoduler

И второе улучшение, которое сильно упростило и автоматизировало мне работу — это реализация возможности выполнять специально написанные модули при формировании каждой строки запроса. Этим самым я могу на лету за один проход встраивать в отчет новый функционал, например, активные ссылки для дополнительных операций над данными.

Exempel 1: Arbeta med klassen App.Parameter

Skapa en parameter med "Table Navigator"

Redigera en parameter via "Alternativ"

Ytterligare verktygsfält för utvecklare på InterSystems IRIS

Exempel 2: Visa den globala via länken "Historik".

Ytterligare verktygsfält för utvecklare på InterSystems IRIS

Diagram

Inspirerad av artikeln [9] och för att visualisera tillväxten av databaser skapades en sida som visar en månatlig graf över databasstorlekar skapade från filen iris.log (cconsole.log) med hjälp av "Expand"-poster i efterhand från den aktuella dagen.

Som ett exempel har en händelsegraf också skapats i InterSystems IRIS, som också genereras från protokollfilen:

Ytterligare verktygsfält för utvecklare på InterSystems IRIS

Länkar till material:

[1] loggningsdelsystem i Kasha
[2] Snabbgröt - gör CRUD i Caché med jqGrid
[3] Alternativa SQL-hanterare för Caché DBMS
[4] Exempel på att generera och skicka e-post med Caché DBMS
[5] Cache + jQuery. Snabb start
[6] Applikationsdistribution
[7] UDL-stöd
[8] Просмотр глобалов в Портале Управления СУБД Caché
[9] Prometheus med cache
[10] Lokalisering i Caché DBMS

Tack till författarna till dessa och andra artiklar som hjälpte mig att skapa detta verktyg.

PS Detta projekt håller på att utvecklas och många idéer har ännu inte implementerats. Inom en snar framtid planerar jag att göra:

1. Ansökningsmall på ramverket Wow
2. Automatisk dokumentation av kodformat Doxegen med integration i CStudio

Källa: will.com

Lägg en kommentar