'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
As jy belangstel, sien asseblief hieronder en in
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
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:
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:
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.
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.
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 .
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)
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"
Voorbeeld 2: Bekyk die globale via die "Geskiedenis"-skakel
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:
Skakels na materiaal:
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
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
2. Outo-dokumentasie van kode formaat
Bron: will.com