Panel alata za programere na InterSystems IRIS

Panel dodatnih alata za praćenje i istraživanje grešaka u aplikacijama i integracijskim rješenjima na podatkovnoj platformi InterSystems IRIS, integracijskoj platformi Ensemble 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 putem e-pošte kao zipovanih XLS datoteka. Pregledajte objekte klase sa mogućnošću uređivanja. Nekoliko jednostavnih grafikona za sistemske protokole.

Ovo je CSP aplikacija zasnovana na jQuery-UI, chart.js, jsgrid.js
Ako ste zainteresovani, pogledajte ispod i u spremište.

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

Poslije čitanja odličan članak o ovome sam se racunao nacrt. i počeo da ga završava za svoje potrebe.

Rezultirajuće rješenje implementirano je kao podklasa panela %CSP.Util.Pane, koja ima glavni prozor za komande i dugme Run, plus podešavanja za preciziranje komandi.

Kada unesete "?" dobijamo kratak opis ovih naredbi:

Panel alata za programere na InterSystems IRIS

Globals

Moja najčešća naredba je pregled globalnog. Po pravilu, ovo je globalni protokol prilikom otklanjanja grešaka u svom ili tuđem projektu. Možete ga pregledati obrnutim redoslijedom, kao i primjenom filtera i na vezu i na podatke. Pronađeni čvorovi se mogu uređivati ​​i brisati:

Panel alata 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 sa ^log (globali protokola), tj. Uvedeno je ograničenje protiv slučajnog brisanja.

Ako unesete “*” iza imena, dobićete listu globala sa dodatnim karakteristikama. Drugo “*” će dodati novo polje “Dodijeljeni MB”, a druga zvjezdica će biti “Used MB”. Ova kombinacija dva izvještaja i podjela na “zvjezdice” je urađena kako bi se izvještaj koji se često dugo formirao podijeli na zauzete blokove velikih globala.

Panel alata za programere na InterSystems IRIS

Iz ove tabele možete pratiti aktivne veze da vidite sam global ili da ga pregledate/uredite na standardni način sa portala za upravljanje klikom na R ili W u polju Dozvola.

Zahtjevi

Pretvaranje izvještaja u Excel format

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

Glavna stvar koja mi je bila dovoljna u standardnom System Management Portalu je izvršavanje upita na JDBC/ODBC izvorima konfigurisanim u DBMS-u i izlaz rezultata u XLS formatu, arhiviranje i slanje fajla e-poštom. Da biste to učinili, u mom alatu, prije izvršavanja naredbe, morate omogućiti potvrdni okvir „Preuzmi u Excel datoteku“.

Ova funkcija mi štedi puno vremena u svakodnevnoj rutini, a gotove module uspješno integriram u nove aplikacije i rješenja integracije.

Panel alata za programere na InterSystems IRIS

Ali da biste to uradili, prvo morate da konfigurišete putanju za kreiranje datoteka na serveru i akreditive korisnika i servera za poštu; za to, zauzvrat, morate urediti čvorove globalnih postavki programa ^%App.Setting .

Panel alata za programere na InterSystems IRIS

Čuvanje izvještaja na globalnom nivou

Vrlo često je potrebno globalno sačuvati rezultate izvršenja izvještaja. Za to koristim sljedeće procedure:

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 u panelu komanda
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Sačuvajmo rezultat zahtjeva za brojanje korištenja licence u ^GN nizu i možete vidjeti šta je sačuvano u panelu pomoću naredbe: result ^GN("%SYSTEM.License:Counts",0)

Panel alata za programere na InterSystems IRIS

Moduli proširene funkcionalnosti

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

Primjer 1: Rad s klasom App.Parameter

Kreirajte parametar koristeći "Navigator tablica"

Uredite parametar preko “Opcije”

Panel alata za programere na InterSystems IRIS

Primjer 2: Pregled globalnog preko linka “History”.

Panel alata za programere na InterSystems IRIS

Grafikoni

Inspirisana člankom [9] i za vizualizaciju rasta baza podataka, kreirana je stranica koja prikazuje mjesečni grafikon veličina baze podataka kreiran iz datoteke iris.log (cconsole.log) koristeći "Expand" zapise retrospektivno od tekućeg dana.

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

Panel alata za programere na InterSystems IRIS

Linkovi na materijale:

[1] loging podsistem u Kasha
[2] Instant kaša - raditi CRUD u Cachéu koristeći jqGrid
[3] Alternativni SQL menadžeri za Caché DBMS
[4] Primjeri generiranja i slanja e-pošte korištenjem Caché DBMS-a
[5] Cache + jQuery. Brzi početak
[6] Primena aplikacije
[7] UDL podrška
[8] Pregled globalnih vrijednosti na portalu za upravljanje kešom
[9] Prometej sa Kešom
[10] Lokalizacija u Caché DBMS

Hvala autorima ovih i drugih članaka koji su mi pomogli da napravim ovaj alat.

PS Ovaj projekat se razvija i mnoge ideje još nisu realizovane. U bliskoj budućnosti planiram da uradim:

1. Šablon aplikacije na okviru uikit
2. Auto-dokumentacija formata koda Doxegen sa integracijom u CStudio

izvor: www.habr.com

Dodajte komentar