Ontwikkelaarnutsmiddelpaneel op InterSystems IRIS

'n Paneel van bykomende gereedskap vir die monitering en ondersoek van foute in toepassings en integrasie-oplossings op die InterSystems IRIS-dataplatform, die Ensemble-integrasieplatform en die Caché DBMS, of die storie van 'n ander fiets.

In hierdie artikel wil ek praat oor die toepassing wat ek, tesame met standaard administrasiehulpmiddels, elke dag gebruik om toepassings en integrasie-oplossings op die InterSystems IRIS-platform te monitor en foute te vind wanneer dit voorkom.
Die oplossing sluit in die kyk en redigeer van globale skikkings, die uitvoer van navrae (insluitend JDBC/ODBC), die stuur van soekresultate per e-pos as gezipte XLS-lêers. Bekyk klasobjekte met die vermoë om te redigeer. Verskeie eenvoudige grafieke vir stelselprotokolle.

Dit is 'n CSP-toepassing gebaseer op jQuery-UI, grafiek.js, jsgrid.js
As jy belangstel, sien asseblief hieronder en in bewaarplek.

Dit het alles begin met die bestudering van die vraag hoe om veranderinge aan voorwerpe in InterSystems IRIS, Ensemble en die Caché DBMS aan te teken.

Na gelees uitstekende artikel hieroor het ek gevurk projek. en begin om dit vir sy behoeftes klaar te maak.

Die gevolglike oplossing word geïmplementeer as 'n paneelsubklas van %CSP.Util.Pane, wat 'n hoofopdragvenster en 'n Run-knoppie het, plus instellings vir opdragverfyning.

Wanneer jy "?" ons kry 'n kort beskrywing van hierdie opdragte:

Ontwikkelaarnutsmiddelpaneel op InterSystems IRIS

Globale

My mees algemene opdrag is om die globale te sien. As 'n reël is dit 'n wêreldwye protokol wanneer u u eie of iemand anders se projek ontfout. Jy kan dit in omgekeerde volgorde sien, sowel as deur 'n filter op beide die skakel en die data toe te pas. Gevonde nodusse kan geredigeer en uitgevee word:

Ontwikkelaarnutsmiddelpaneel op InterSystems IRIS

Jy kan die hele globale uitvee deur minus ^logMSW- in die opdrag na die naam in te voer.
Maar op hierdie manier kan jy net globale uitvee wat met ^log (protokolglobale) begin, m.a.w. 'n Beperking teen toevallige uitvee is geïmplementeer.

As jy "*" na die naam invoer, sal jy 'n lys van globale met bykomende kenmerke kry. Die tweede "*" sal 'n nuwe veld "Toegewe MB" byvoeg, en 'n ander asterisk sal "Gebruikte MB" wees. Hierdie kombinasie van twee verslae en die verdeling in "sterretjies" word gedoen om die dikwels langvormende verslag in besette blokke te verdeel. van groot wêrelddele.

Ontwikkelaarnutsmiddelpaneel op InterSystems IRIS

Vanuit hierdie tabel kan jy aktiewe skakels volg om die globale self te sien of om dit op die standaard manier vanaf die bestuursportaal te bekyk/redigeer deur op R of W in die Toestemming-veld te klik.

Versoeke

Omskakeling van 'n verslag na Excel-formaat

Die tweede mees gebruikte funksie is navraaguitvoering. Om dit te doen, voer die sql-stelling as 'n opdrag in.

Die belangrikste ding wat vir my genoeg was in die standaard Stelselbestuursportaal was om navrae uit te voer op JDBC/ODBC-bronne wat in die DBMS gekonfigureer is en die resultate in XLS-formaat uit te voer, die lêer te argiveer en per e-pos te stuur. Om dit te doen, in my instrument, voordat u die opdrag uitvoer, moet u die "Laai af na Excel-lêer"-merkblokkie aktiveer.

Hierdie kenmerk spaar my baie tyd in my daaglikse roetine, en ek integreer klaargemaakte modules suksesvol in nuwe toepassings en integrasie-oplossings.

Ontwikkelaarnutsmiddelpaneel op InterSystems IRIS

Maar om dit te doen, moet jy eers die pad vir die skep van lêers op die bediener en die geloofsbriewe van die gebruiker en e-posbediener instel, hiervoor moet jy op sy beurt die nodusse van die globale programinstellings wysig ^%App.Setting .

Ontwikkelaarnutsmiddelpaneel op InterSystems IRIS

Stoor verslae wêreldwyd

Dit is dikwels nodig om die resultate van verslaguitvoering wêreldwyd te stoor. Om dit te doen gebruik ek die volgende prosedures:

Vir JDBC:
##klas(App.sys).SqlToDSN

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

Vir SQL uitdrukkings:
##klas(App.sys).SaveSQL

Vir navraag:
##klas(App.sys).SaveQuery

Byvoorbeeld, as in die paneel die opdrag
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Kom ons stoor die resultaat van die lisensiegebruik-telversoek in die ^GN-skikking, en jy kan sien wat in die paneel gestoor is met die opdrag: result ^GN("%SYSTEM.License:Counts",0)

Ontwikkelaarnutsmiddelpaneel op InterSystems IRIS

Aangevulde funksionaliteit modules

En die tweede verbetering, wat my werk baie vereenvoudig en geoutomatiseer het, is die implementering van die vermoë om spesiaal geskrewe modules uit te voer wanneer elke navraaglyn gegenereer word. Op hierdie manier kan ek in een pas nuwe funksionaliteit in die verslag inbou, byvoorbeeld aktiewe skakels vir bykomende bewerkings op data.

Voorbeeld 1: Werk met die App.Parameter-klas

Skep 'n parameter met die "Table Navigator"

Wysig 'n parameter via "Opsies"

Ontwikkelaarnutsmiddelpaneel op InterSystems IRIS

Voorbeeld 2: Bekyk die globale via die "Geskiedenis"-skakel

Ontwikkelaarnutsmiddelpaneel op InterSystems IRIS

Grafieke

Geïnspireer deur die artikel [9] en om die groei van databasisse te visualiseer, is 'n bladsy geskep wat 'n maandelikse grafiek van databasisgroottes vertoon wat geskep is vanaf die iris.log-lêer (cconsole.log) deur gebruik te maak van "Expand"-rekords terugwerkend vanaf die huidige dag.

As 'n voorbeeld is 'n gebeurtenisgrafiek ook in InterSystems IRIS geskep, wat ook uit die protokollêer gegenereer word:

Ontwikkelaarnutsmiddelpaneel op InterSystems IRIS

Skakels na materiaal:

[1] log-substelsel in Kasha
[2] Kitspap - doen CRUD in Caché met jqGrid
[3] Alternatiewe SQL-bestuurders vir die Caché DBMS
[4] Voorbeelde van die generering en stuur van e-pos deur die Caché DBMS te gebruik
[5] Kas + jQuery. Vinnige begin
[6] Toepassing ontplooiing
[7] UDL ondersteuning
[8] Bekyk globale in die Caché-bestuursportaal
[9] Prometheus met Cache
[10] Lokalisering in die Caché DBMS

Dankie aan die skrywers van hierdie en ander artikels wat my gehelp het om hierdie hulpmiddel te skep.

NS Hierdie projek is besig om te ontwikkel en baie idees is nog nie geïmplementeer nie. In die nabye toekoms beplan ek om te doen:

1. Toepassingsjabloon op die raamwerk uikit
2. Outo-dokumentasie van kode formaat Doxegen met integrasie in CStudio

Bron: will.com

Voeg 'n opmerking