Bara de instrumente suplimentară pentru dezvoltatori pe InterSystems IRIS

Un panou de instrumente suplimentare pentru monitorizarea și investigarea erorilor din aplicații și soluții de integrare pe platforma de date InterSystems IRIS, platforma de integrare Ensemble și DBMS Caché, sau povestea unei alte biciclete.

În acest articol vreau să vorbesc despre aplicația pe care, alături de instrumentele standard de administrare, o folosesc zilnic pentru a monitoriza aplicațiile și soluțiile de integrare pe platforma InterSystems IRIS și pentru a găsi erori atunci când apar.
Soluția include vizualizarea și editarea matricelor globale, rularea de interogări (inclusiv JDBC/ODBC), trimiterea rezultatelor căutării prin e-mail ca fișiere XLS arhivate. Vizualizați obiecte de clasă cu posibilitatea de a edita. Mai multe grafice simple pentru protocoale de sistem.

Aceasta este o aplicație CSP bazată pe jQuery-UI, chart.js, jsgrid.js
Dacă sunteți interesat, vă rugăm să vedeți mai jos și în repertoriu.

Totul a început cu studierea întrebării cum să înregistrezi modificările aduse obiectelor în InterSystems IRIS, Ensemble și DBMS Caché.

Dupa citit excelent articol despre asta, am bifurcat proiect. și a început să-l termine pentru nevoile lui.

Soluția rezultată este implementată ca o subclasă de panou a %CSP.Util.Pane, care are o fereastră principală de comandă și un buton Run, plus setări de rafinare a comenzii.

Când introduceți „?” primim o scurtă descriere a acestor comenzi:

Bara de instrumente suplimentară pentru dezvoltatori pe InterSystems IRIS

Globale

Cea mai comună comandă a mea este să vizualizez global. De regulă, acesta este un protocol global atunci când depanați propriul proiect sau al altcuiva. Îl puteți vizualiza în ordine inversă, precum și prin aplicarea unui filtru atât link-ului, cât și datelor. Nodurile găsite pot fi editate și șterse:

Bara de instrumente suplimentară pentru dezvoltatori pe InterSystems IRIS

Puteți șterge întregul global introducând minus ^logMSW- în comanda după nume.
Dar în acest fel puteți șterge numai globaluri care încep cu ^log (protocol globale), adică. A fost implementată o restricție împotriva ștergerii accidentale.

Dacă introduceți „*” după nume, veți obține o listă de globale cu caracteristici suplimentare. Al doilea „*” va adăuga un câmp nou „MB alocat”, iar un alt asterisc va fi „MB folosit”. Această combinație de două rapoarte și împărțirea în „asteriscuri” se face pentru a împărți raportul de multe ori de lungă durată în blocuri ocupate. a marilor globale.

Bara de instrumente suplimentară pentru dezvoltatori pe InterSystems IRIS

Din acest tabel puteți urmări link-uri active pentru a vizualiza globalul în sine sau pentru a-l vizualiza/editați în mod standard din portalul de management făcând clic pe R sau W în câmpul Permisiune.

cereri

Conversia unui raport în format Excel

A doua funcție cel mai frecvent utilizată este execuția interogării. Pentru a face acest lucru, introduceți instrucțiunea sql ca comandă.

Principalul lucru care mi-a fost suficient în portalul standard de management al sistemului a fost executarea de interogări pe sursele JDBC/ODBC configurate în DBMS și scoaterea rezultatelor în format XLS, arhivarea și trimiterea fișierului prin e-mail. Pentru a face acest lucru, în instrumentul meu, înainte de a executa comanda, trebuie să activați caseta de selectare „Descărcați în fișierul Excel”.

Această funcție îmi economisește mult timp în rutina mea zilnică și integrez cu succes module gata făcute în aplicații noi și soluții de integrare.

Bara de instrumente suplimentară pentru dezvoltatori pe InterSystems IRIS

Dar pentru a face acest lucru, trebuie mai întâi să configurați calea pentru crearea fișierelor pe server și acreditările utilizatorului și serverului de e-mail, la rândul său, trebuie să editați nodurile setărilor globale ale programului ^%App.Setting .

Bara de instrumente suplimentară pentru dezvoltatori pe InterSystems IRIS

Salvarea rapoartelor la nivel global

Foarte des este necesar să se salveze rezultatele execuției raportului la nivel global. Pentru a face acest lucru, folosesc următoarele proceduri:

Pentru JDBC:
##class(App.sys).SqlToDSN

Pentru ODBC:
##class(App.sys).SaveGateway

Pentru expresiile SQL:
##class(App.sys).SaveSQL

Pentru interogare:
##class(App.sys).SaveQuery

De exemplu, dacă în panou comanda
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Să salvăm rezultatul solicitării de contorizare a utilizării licenței în matricea ^GN și puteți vedea ce a fost salvat în panou cu comanda: result ^GN("%SYSTEM.License:Counts",0)

Bara de instrumente suplimentară pentru dezvoltatori pe InterSystems IRIS

Module de funcționalitate sporite

Iar a doua îmbunătățire, care mi-a simplificat și automatizat foarte mult munca, a fost implementarea capacității de a executa module special scrise la generarea fiecărei linii de interogare. În acest fel, pot construi noi funcționalități în raport dintr-o singură trecere, de exemplu, legături active pentru operațiuni suplimentare asupra datelor.

Exemplul 1: Lucrul cu clasa App.Parameter

Creați un parametru utilizând „Table Navigator”

Editați un parametru prin „Opțiuni”

Bara de instrumente suplimentară pentru dezvoltatori pe InterSystems IRIS

Exemplul 2: Vizualizarea globală prin linkul „Istoric”.

Bara de instrumente suplimentară pentru dezvoltatori pe InterSystems IRIS

Graficele

Inspirat de articolul [9] și pentru a vizualiza creșterea bazelor de date, a fost creată o pagină care afișează un grafic lunar al dimensiunilor bazei de date create din fișierul iris.log (cconsole.log) folosind înregistrările „Expand” retrospectiv din ziua curentă.

De exemplu, a fost creat și un grafic de evenimente în InterSystems IRIS, care este, de asemenea, generat din fișierul de protocol:

Bara de instrumente suplimentară pentru dezvoltatori pe InterSystems IRIS

Legături către materiale:

[1] subsistemul de înregistrare în Kasha
[2] Terci instantaneu - faceți CRUD în Caché folosind jqGrid
[3] Manageri SQL alternativi pentru DBMS Caché
[4] Exemple de generare și trimitere de e-mail folosind SGBD-ul Caché
[5] Cache + jQuery. Pornire rapidă
[6] Implementarea aplicației
[7] Suport UDL
[8] Vizualizarea globală în portalul de management Caché
[9] Prometeu cu Cache
[10] Localizare în SGBD Caché

Mulțumesc autorilor acestor și altor articole care m-au ajutat să creez acest instrument.

PS Acest proiect este în curs de dezvoltare și multe idei nu au fost încă implementate. În viitorul apropiat am de gând să fac:

1. Șablon de aplicație pe cadru uikit
2. Documentarea automată a formatului de cod Doxegen cu integrare în CStudio

Sursa: www.habr.com

Adauga un comentariu