Un panell d'eines addicionals per monitoritzar i investigar errors en aplicacions i solucions d'integració a la plataforma de dades InterSystems IRIS, la plataforma d'integració Ensemble i el DBMS Caché, o la història d'una altra bicicleta.
En aquest article vull parlar de l'aplicació que, juntament amb les eines d'administració estàndard, faig servir cada dia per supervisar aplicacions i solucions d'integració a la plataforma InterSystems IRIS i trobar errors quan es produeixen.
La solució inclou visualitzar i editar matrius globals, executar consultes (incloent-hi JDBC/ODBC), enviar resultats de cerca per correu electrònic com a fitxers XLS comprimits. Veure objectes de classe amb la possibilitat d'editar-los. Diversos gràfics senzills per als protocols del sistema.
Aquesta és una aplicació CSP basada en
Si esteu interessats, consulteu a continuació i a
Tot va començar amb l'estudi de la qüestió de com registrar els canvis als objectes a InterSystems IRIS, Ensemble i el DBMS Caché.
Després de llegir
La solució resultant s'implementa com una subclasse de panell de %CSP.Util.Pane, que té una finestra d'ordres principal i un botó d'execució, a més de paràmetres de perfeccionament d'ordres.
Quan introduïu "?" obtenim una breu descripció d'aquestes ordres:
Globals
La meva comanda més habitual és veure el global. Per regla general, aquest és un protocol global quan es depura el projecte propi o d'una altra persona. Podeu visualitzar-lo en ordre invers, així com aplicant un filtre tant a l'enllaç com a les dades. Els nodes trobats es poden editar i suprimir:
Podeu suprimir tot el global introduint menys ^logMSW- a l'ordre després del nom.
Però d'aquesta manera només podeu eliminar globals que comencen per ^log (protocols globals), és a dir. S'ha implementat una restricció contra la supressió accidental.
Si introduïu “*” després del nom, obtindreu una llista de globals amb característiques addicionals. El segon "*" afegirà un camp nou "MB assignat" i un altre asterisc serà "MB utilitzat". Aquesta combinació de dos informes i la divisió en "asteriscs" es fa per dividir l'informe sovint de llarga formació en blocs ocupats. dels grans globals.
Des d'aquesta taula podeu seguir els enllaços actius per visualitzar el propi global o per visualitzar-lo/editar-lo de manera estàndard des del portal de gestió fent clic a R o W al camp Permís.
Sol·licituds
Convertir un informe a format Excel
La segona funció més utilitzada és l'execució de consultes. Per fer-ho, introduïu la instrucció sql com a ordre.
El principal que em va bastar al portal estàndard de gestió del sistema va ser executar consultes a fonts JDBC/ODBC configurades al SGBD i enviar els resultats en format XLS, arxivar i enviar el fitxer per correu electrònic. Per fer-ho, a la meva eina, abans d'executar l'ordre, heu d'activar la casella de selecció "Descarrega a un fitxer Excel".
Aquesta característica m'estalvia molt de temps en la meva rutina diària i integro amb èxit mòduls ja fets en noves aplicacions i solucions d'integració.
Però per fer-ho, primer heu de configurar el camí per crear fitxers al servidor i les credencials de l'usuari i el servidor de correu; per això, al seu torn, heu d'editar els nodes de la configuració global del programa ^%App.Setting .
Desar informes globalment
Molt sovint és necessari desar els resultats de l'execució d'informes de manera global. Per fer-ho faig servir els següents procediments:
Per a JDBC:
##class(App.sys).SqlToDSN
Per a ODBC:
##class(App.sys).SaveGateway
Per a expressions SQL:
##class(App.sys).SaveSQL
Per a la consulta:
##class(App.sys).SaveQuery
Per exemple, si al panell l'ordre
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Desem el resultat de la sol·licitud de recompte d'ús de llicència a la matriu ^GN i podreu veure què es va desar al panell amb l'ordre: result ^GN("%SYSTEM.License:Counts",0)
Mòduls de funcionalitats augmentades
I la segona millora, que va simplificar i automatitzar molt el meu treball, és la implementació de la capacitat d'executar mòduls especialment escrits en generar cada línia de consulta. D'aquesta manera, puc incorporar noves funcionalitats a l'informe sobre la marxa en una sola passada, per exemple, enllaços actius per a operacions addicionals sobre dades.
Exemple 1: treballant amb la classe App.Parameter
Creeu un paràmetre amb el "Navegador de taula"
Editeu un paràmetre mitjançant "Opcions"
Exemple 2: visualització del global mitjançant l'enllaç "Historial".
Gràfics
Inspirat en l'article [9] i per visualitzar el creixement de les bases de dades, es va crear una pàgina que mostra un gràfic mensual de mides de bases de dades creades a partir del fitxer iris.log (cconsole.log) utilitzant registres "Expand" retrospectivament del dia actual.
Com a exemple, també s'ha creat un gràfic d'esdeveniments a InterSystems IRIS, que també es genera a partir del fitxer de protocol:
Enllaços a materials:
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
Gràcies als autors d'aquests i altres articles que m'han ajudat a crear aquesta eina.
PD Aquest projecte s'està desenvolupant i moltes idees encara no s'han implementat. En un futur proper penso fer:
1. Plantilla d'aplicació al framework
2. Documentació automàtica del format del codi
Font: www.habr.com