Barra de herramientas adicional para desarrolladores en InterSystems IRIS

Un panel de herramientas adicionales para monitorear e investigar errores en aplicaciones y soluciones de integración en la plataforma de datos InterSystems IRIS, la plataforma de integración Ensemble y el DBMS Caché, o la historia de otra bicicleta.

En este artículo quiero hablar sobre la aplicación que, junto con las herramientas de administración estándar, uso todos los días para monitorear aplicaciones y soluciones de integración en la plataforma InterSystems IRIS y encontrar errores cuando ocurren.
La solución incluye ver y editar matrices globales, ejecutar consultas (incluidos JDBC/ODBC) y enviar resultados de búsqueda por correo electrónico como archivos XLS comprimidos. Ver objetos de clase con la capacidad de editar. Varios gráficos simples para protocolos del sistema.

Esta es una aplicación CSP basada en jQuery-UI, gráfico.js, jsgrid.js
Si está interesado, consulte a continuación y en repositorio.

Todo comenzó estudiando la cuestión de cómo registrar cambios en objetos en InterSystems IRIS, Ensemble y Caché DBMS.

Habiendo leído excelente articulo sobre esto, bifurqué proyecto. y comenzó a terminarlo para sus necesidades.

La solución resultante se implementa como una subclase de panel de %CSP.Util.Pane, que tiene una ventana principal para comandos y un botón Ejecutar, además de configuraciones de refinamiento para los comandos.

Cuando usted entre "?" obtenemos una breve descripción de estos comandos:

Barra de herramientas adicional para desarrolladores en InterSystems IRIS

Globales

Mi comando más común es ver el global. Como regla general, este es un protocolo global al depurar su propio proyecto o el de otra persona. Puedes verlo en orden inverso, así como aplicando un filtro tanto al enlace como a los datos. Los nodos encontrados se pueden editar y eliminar:

Barra de herramientas adicional para desarrolladores en InterSystems IRIS

Puede eliminar todo el global ingresando menos ^logMSW- en el comando después del nombre.
Pero de esta manera solo puedes eliminar globales que comiencen con ^log (globales de protocolo), es decir. Se ha implementado una restricción contra la eliminación accidental.

Si ingresa "*" después del nombre, obtendrá una lista de globales con características adicionales. El segundo "*" agregará un nuevo campo "MB asignados" y otro asterisco será "MB usados". Esta combinación de dos informes y la división en "asteriscos" se realiza para dividir el informe, que a menudo es largo, en bloques ocupados. de grandes globales.

Barra de herramientas adicional para desarrolladores en InterSystems IRIS

Desde esta tabla puede seguir enlaces activos para ver el global en sí o verlo/editarlo de la forma estándar desde el portal de administración haciendo clic en R o W en el campo Permiso.

solicitudes

Convertir un informe a formato Excel

La segunda función más utilizada es la ejecución de consultas. Para hacer esto, ingrese la declaración sql como comando.

Lo principal que me bastó en el Portal de administración del sistema estándar fue realizar consultas en fuentes JDBC/ODBC configuradas en el DBMS y generar los resultados en formato XLS, archivar y enviar el archivo por correo electrónico. Para hacer esto, en mi herramienta, antes de ejecutar el comando, debe habilitar la casilla de verificación "Descargar a un archivo de Excel".

Esta función me ahorra mucho tiempo en mi rutina diaria e integro con éxito módulos ya preparados en nuevas aplicaciones y soluciones de integración.

Barra de herramientas adicional para desarrolladores en InterSystems IRIS

Pero para hacer esto, primero debe configurar la ruta para crear archivos en el servidor y las credenciales del usuario y del servidor de correo, para esto, a su vez, debe editar los nodos de la configuración global del programa ^%App.Setting .

Barra de herramientas adicional para desarrolladores en InterSystems IRIS

Guardar informes globalmente

Muy a menudo es necesario guardar los resultados de la ejecución del informe de forma global. Para ello utilizo los siguientes procedimientos:

Para JDBC:
##clase(App.sys).SqlToDSN

Para ODBC:
##clase(App.sys).SaveGateway

Para expresiones SQL:
##clase(App.sys).SaveSQL

Para consulta:
## clase (App.sys). Guardar consulta

Por ejemplo, si en el panel el comando
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Guardemos el resultado de la solicitud de recuento de uso de licencia en la matriz ^GN y podrá ver lo que se guardó en el panel con el comando: result ^GN("%SYSTEM.License:Counts",0)

Barra de herramientas adicional para desarrolladores en InterSystems IRIS

Módulos de funcionalidad aumentada

Y la segunda mejora, que simplificó y automatizó enormemente mi trabajo, es la implementación de la capacidad de ejecutar módulos especialmente escritos al generar cada línea de consulta. De esta manera puedo crear nuevas funciones en el informe sobre la marcha en una sola pasada, por ejemplo, enlaces activos para operaciones adicionales con datos.

Ejemplo 1: trabajar con la clase App.Parameter

Cree un parámetro usando el "Navegador de tablas"

Editar un parámetro a través de "Opciones"

Barra de herramientas adicional para desarrolladores en InterSystems IRIS

Ejemplo 2: Ver el global a través del enlace "Historial"

Barra de herramientas adicional para desarrolladores en InterSystems IRIS

Gráficos

Inspirándose en el artículo [9] y para visualizar el crecimiento de las bases de datos, se creó una página que muestra un gráfico mensual de los tamaños de las bases de datos creadas a partir del archivo iris.log (cconsole.log) utilizando registros “Expandir” retrospectivamente desde el día actual.

A modo de ejemplo, también se ha creado un gráfico de eventos en InterSystems IRIS, que también se genera a partir del archivo de protocolo:

Barra de herramientas adicional para desarrolladores en InterSystems IRIS

Enlaces a materiales:

[ 1 ] subsistema de registro en Kasha
[ 2 ] Gachas instantáneas: hacer CRUD en Caché usando jqGrid
[ 3 ] Gestores SQL alternativos para el DBMS Caché
[ 4 ] Ejemplos de generación y envío de correo electrónico utilizando el DBMS Caché
[ 5 ] Caché + jQuery. Comienzo rápido
[ 6 ] Implementación de aplicaciones
[ 7 ] soporte UDL
[ 8 ] Visualización de datos globales en el Portal de gestión de Caché
[ 9 ] Prometeo con caché
[ 10 ] Localización en el DBMS Caché

Gracias a los autores de estos y otros artículos que me ayudaron a crear esta herramienta.

PD: Este proyecto se está desarrollando y muchas ideas aún no se han implementado. En un futuro próximo planeo hacer:

1. Plantilla de aplicación en el marco. uikit
2. Autodocumentación del formato del código. Doxgen con integración en CStudio

Fuente: habr.com

Añadir un comentario