Dodatna orodna vrstica za razvijalce na InterSystems IRIS

Panel dodatnih orodij za spremljanje in raziskovanje napak v aplikacijah in integracijskih rešitvah na podatkovni platformi InterSystems IRIS, integracijski platformi Ensemble in Caché DBMS ali zgodba o drugem kolesu.

V tem članku želim govoriti o aplikaciji, ki jo poleg standardnih skrbniških orodij uporabljam vsak dan za spremljanje aplikacij in integracijskih rešitev na platformi InterSystems IRIS ter iskanje napak, ko se pojavijo.
Rešitev vključuje pregledovanje in urejanje globalnih nizov, izvajanje poizvedb (vključno z JDBC/ODBC), pošiljanje rezultatov iskanja po e-pošti kot stisnjene datoteke XLS. Oglejte si predmete razreda z možnostjo urejanja. Nekaj ​​preprostih grafov za sistemske protokole.

To je aplikacija CSP, ki temelji na jQuery-UI, chart.js, jsgrid.js
Če vas zanima, si oglejte spodaj in v repozitorij.

Vse se je začelo s preučevanjem vprašanja, kako beležiti spremembe objektov v InterSystems IRIS, Ensemble in Caché DBMS.

Po branju odličen članek o tem, sem fork Projekt. in ga začel dodelovati za svoje potrebe.

Nastala rešitev je implementirana kot podrazred plošče %CSP.Util.Pane, ki ima glavno ukazno okno in gumb Zaženi ter nastavitve za izboljšanje ukaza.

Ko vnesete »?« dobimo kratek opis teh ukazov:

Dodatna orodna vrstica za razvijalce na InterSystems IRIS

Globali

Moj najpogostejši ukaz je ogled globalnega. Praviloma je to globalni protokol pri odpravljanju napak v lastnem ali tujem projektu. Ogledate si ga lahko v obratnem vrstnem redu, pa tudi z uporabo filtra za povezavo in podatke. Najdena vozlišča je mogoče urejati in brisati:

Dodatna orodna vrstica za razvijalce na InterSystems IRIS

Celoten global lahko izbrišete tako, da v ukaz za imenom vnesete minus ^logMSW-.
Toda na ta način lahko izbrišete le globale, ki se začnejo z ^log (globali protokola), tj. Izvedena je bila omejitev proti nenamernemu brisanju.

Če za imenom vnesete »*«, boste dobili seznam globalov z dodatnimi značilnostmi. Drugi »*« bo dodal novo polje »Dodeljeni MB«, druga zvezdica pa bo »Used MB«. Ta kombinacija dveh poročil in delitve na »zvezdice« je namenjena razdelitvi pogosto dolgotrajnega poročila na zasedene bloke. velikih globalov.

Dodatna orodna vrstica za razvijalce na InterSystems IRIS

V tej tabeli lahko sledite aktivnim povezavam za ogled samega globala ali za ogled/urejanje na standardni način iz portala za upravljanje s klikom na R ali W v polju Dovoljenje.

zahteve

Pretvorba poročila v format Excel

Druga najpogosteje uporabljena funkcija je izvajanje poizvedbe. Če želite to narediti, vnesite stavek sql kot ukaz.

Glavna stvar, ki mi je v standardnem portalu za upravljanje sistema zadostovala, je bilo izvajanje poizvedb na virih JDBC/ODBC, konfiguriranih v DBMS, in izpis rezultatov v formatu XLS, arhiviranje in pošiljanje datoteke po e-pošti. Če želite to narediti, morate v mojem orodju pred izvedbo ukaza omogočiti potrditveno polje »Prenesi v datoteko Excel«.

Ta funkcija mi prihrani veliko časa pri vsakodnevni rutini, že pripravljene module pa uspešno integriram v nove aplikacije in integracijske rešitve.

Dodatna orodna vrstica za razvijalce na InterSystems IRIS

Če želite to narediti, morate najprej konfigurirati pot za ustvarjanje datotek na strežniku ter poverilnice uporabnika in poštnega strežnika; za to pa morate urediti vozlišča globalnih nastavitev programa ^%App.Setting .

Dodatna orodna vrstica za razvijalce na InterSystems IRIS

Shranjevanje poročil globalno

Zelo pogosto je treba rezultate izvajanja poročila shraniti globalno. Za to uporabljam naslednje postopke:

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

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

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

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

Na primer, če je na plošči ukaz
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Shranimo rezultat zahteve za štetje uporabe licence v polje ^GN in lahko vidite, kaj je bilo shranjeno na plošči z ukazom: result ^GN("%SYSTEM.License:Counts",0)

Dodatna orodna vrstica za razvijalce na InterSystems IRIS

Moduli razširjene funkcionalnosti

In druga izboljšava, ki je močno poenostavila in avtomatizirala moje delo, je implementacija možnosti izvajanja posebej napisanih modulov pri generiranju vsake vrstice poizvedbe. Tako lahko v poročilo sproti v enem prehodu vgradim novo funkcionalnost, na primer aktivne povezave za dodatne operacije s podatki.

Primer 1: Delo z razredom App.Parameter

Ustvarite parameter s pomočjo »Krmarja po tabelah«

Uredite parameter prek »Možnosti«

Dodatna orodna vrstica za razvijalce na InterSystems IRIS

Primer 2: Ogled globalnega prek povezave »Zgodovina«.

Dodatna orodna vrstica za razvijalce na InterSystems IRIS

Grafikoni

Po navdihu članka [9] in za vizualizacijo rasti baz podatkov je bila ustvarjena stran, ki prikazuje mesečni graf velikosti baz podatkov, ustvarjenih iz datoteke iris.log (cconsole.log) z uporabo zapisov »Razširi« za nazaj od trenutnega dne.

Kot primer je bil v InterSystems IRIS ustvarjen tudi graf dogodkov, ki je prav tako ustvarjen iz datoteke protokola:

Dodatna orodna vrstica za razvijalce na InterSystems IRIS

Povezave do materialov:

[1] podsistem za beleženje v Kashi
[2] Instant kaša - izvajanje CRUD v Cachéju z uporabo jqGrid
[3] Alternativni upravitelji SQL za Caché DBMS
[4] Primeri generiranja in pošiljanja e-pošte z uporabo Caché DBMS
[5] Predpomnilnik + jQuery. Hiter začetek
[6] Namestitev aplikacije
[7] Podpora UDL
[8] Ogled globalov na portalu za upravljanje predpomnilnika
[9] Prometej s predpomnilnikom
[10] Lokalizacija v Caché DBMS

Hvala avtorjem teh in drugih člankov, ki so mi pomagali ustvariti to orodje.

PS Ta projekt je v razvoju in veliko idej še ni uresničenih. V bližnji prihodnosti nameravam narediti:

1. Predloga aplikacije na ogrodju uikit
2. Avtodokumentacija formata kode Doxegen z integracijo v CStudio

Vir: www.habr.com

Dodaj komentar