Dodatna alatna traka za programere na InterSystems IRIS

Panel dodatnih alata za praćenje i istraživanje pogrešaka u aplikacijama i integracijskim rješenjima na InterSystems IRIS podatkovnoj platformi, Ensemble integracijskoj platformi i Caché DBMS-u ili priča o drugom biciklu.

U ovom članku želim govoriti o aplikaciji koju, uz standardne administrativne alate, svakodnevno koristim za praćenje aplikacija i integracijskih rješenja na InterSystems IRIS platformi i pronalaženje grešaka kada se pojave.
Rješenje uključuje pregled i uređivanje globalnih nizova, pokretanje upita (uključujući JDBC/ODBC), slanje rezultata pretraživanja e-poštom kao komprimirane XLS datoteke. Pregledajte objekte klase s mogućnošću uređivanja. Nekoliko jednostavnih grafikona za sistemske protokole.

Ovo je CSP aplikacija temeljena na jQuery-UI, grafikon.js, jsgrid.js
Ako ste zainteresirani, pogledajte dolje i u spremište.

Sve je počelo proučavanjem pitanja kako zabilježiti promjene na objektima u InterSystems IRIS, Ensemble i Caché DBMS.

Nakon čitanja odličan članak o ovome, račvao sam se projekt. i počeo ga dovršavati za svoje potrebe.

Rezultirajuće rješenje implementirano je kao podklasa panela %CSP.Util.Pane, koja ima glavni naredbeni prozor i gumb Pokreni, plus postavke preciziranja naredbi.

Kada unesete "?" dobivamo kratak opis ovih naredbi:

Dodatna alatna traka za programere na InterSystems IRIS

Globali

Moja najčešća naredba je pregledati global. U pravilu, ovo je globalni protokol kada otklanjate pogreške vlastitog ili tuđeg projekta. Možete ga vidjeti obrnutim redoslijedom, kao i primjenom filtra na vezu i podatke. Pronađeni čvorovi mogu se uređivati ​​i brisati:

Dodatna alatna traka za programere na InterSystems IRIS

Možete izbrisati cijeli global unošenjem minus ^logMSW- u naredbu iza imena.
Ali na ovaj način možete izbrisati samo globale koji počinju s ^log (globali protokola), tj. Implementirano je ograničenje protiv slučajnog brisanja.

Ako unesete “*” iza imena, dobit ćete popis globala s dodatnim karakteristikama. Drugi "*" će dodati novo polje "Allocated MB", a druga zvjezdica će biti "Used MB". Ova kombinacija dvaju izvješća i podjele na "zvjezdice" napravljena je kako bi se često dugo formirana izvješća podijelila na zauzete blokove velikih globala.

Dodatna alatna traka za programere na InterSystems IRIS

Iz ove tablice možete slijediti aktivne poveznice za pregled samog globala ili ga pregledati/urediti na standardni način s portala za upravljanje klikom na R ili W u polju Dozvola.

Upiti

Pretvaranje izvješća u Excel format

Druga najčešće korištena funkcija je izvršavanje upita. Da biste to učinili, unesite sql naredbu kao naredbu.

Ono što mi je u standardnom System Management Portalu bilo dovoljno bilo je izvršavanje upita na JDBC/ODBC izvorima konfiguriranim u DBMS-u i ispisivanje rezultata u XLS formatu, arhiviranje i slanje datoteke e-poštom. Da biste to učinili, u mom alatu, prije izvršenja naredbe, morate omogućiti potvrdni okvir "Preuzmi u Excel datoteku".

Ova značajka mi štedi mnogo vremena u svakodnevnoj rutini, a gotove module uspješno integriram u nove aplikacije i integracijska rješenja.

Dodatna alatna traka za programere na InterSystems IRIS

Ali da biste to učinili, najprije trebate konfigurirati put za stvaranje datoteka na poslužitelju i vjerodajnice korisnika i poslužitelja e-pošte; za to pak morate urediti čvorove globalnih postavki programa ^%App.Setting .

Dodatna alatna traka za programere na InterSystems IRIS

Spremanje izvješća globalno

Vrlo često je potrebno globalno pohraniti rezultate izvršenja izvješća. Da bih to učinio koristim sljedeće postupke:

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

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

Za SQL izraze:
##class(App.sys).SaveSQL

Za upit:
##class(App.sys).SaveQuery

Na primjer, ako je na ploči naredba
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Spremimo rezultat zahtjeva za brojanje korištenja licence u polje ^GN, a na ploči možete vidjeti što je spremljeno naredbom: result ^GN("%SYSTEM.License:Counts",0)

Dodatna alatna traka za programere na InterSystems IRIS

Moduli proširene funkcionalnosti

A drugo poboljšanje, koje je uvelike pojednostavilo i automatiziralo moj rad, je implementacija mogućnosti izvršavanja posebno napisanih modula prilikom generiranja svake linije upita. Na taj način mogu ugraditi novu funkcionalnost u izvješće u hodu u jednom prolazu, na primjer, aktivne poveznice za dodatne operacije nad podacima.

Primjer 1: Rad s klasom App.Parameter

Stvorite parametar pomoću "Navigatora tablice"

Uredite parametar putem "Opcije"

Dodatna alatna traka za programere na InterSystems IRIS

Primjer 2: Pregled globala putem poveznice “Povijest”.

Dodatna alatna traka za programere na InterSystems IRIS

Karte

Nadahnuta člankom [9] i kako bi se vizualizirao rast baza podataka, stvorena je stranica koja prikazuje mjesečni graf veličina baze podataka kreiran iz datoteke iris.log (cconsole.log) korištenjem “Expand” zapisa retrospektivno od tekućeg dana.

Kao primjer, grafikon događaja također je kreiran u InterSystems IRIS-u, koji se također generira iz datoteke protokola:

Dodatna alatna traka za programere na InterSystems IRIS

Linkovi na materijale:

[1] logging podsustav u Kashi
[2] Instant kaša - izvođenje CRUD-a u Cachéu koristeći jqGrid
[3] Alternativni SQL upravitelji za Caché DBMS
[4] Primjeri generiranja i slanja e-pošte pomoću Caché DBMS-a
[5] Predmemorija + jQuery. Brzi početak
[6] Implementacija aplikacije
[7] UDL podrška
[8] Pregledavanje globalnih podataka na portalu za upravljanje Cachéom
[9] Prometej s Cacheom
[10] Lokalizacija u Caché DBMS

Hvala autorima ovih i drugih članaka koji su mi pomogli u stvaranju ovog alata.

p.s. Ovaj projekt je u razvoju i mnoge ideje još nisu provedene. U bliskoj budućnosti planiram učiniti:

1. Predložak aplikacije na okviru uikit
2. Autodokumentacija formata koda Doxegen s integracijom u CStudio

Izvor: www.habr.com

Dodajte komentar