Um painel de ferramentas adicionais para monitorar e investigar erros de aplicativos e soluções de integração na plataforma de dados InterSystems IRIS, na plataforma de integração Ensemble e no Caché DBMS ou no histórico de outra bicicleta.
Neste artigo, quero falar sobre um aplicativo que, juntamente com as ferramentas administrativas padrão, uso diariamente para monitorar aplicativos e soluções de integração na plataforma InterSystems IRIS e para encontrar erros quando eles ocorrerem.
A solução inclui visualizar e editar matrizes globais, executar consultas (incluindo JDBC / ODBC), enviar resultados de pesquisa por email na forma de arquivos XLS arquivados. Veja objetos de classe com a capacidade de editar. Alguns gráficos simples dos protocolos do sistema.
Este é um aplicativo CSP baseado em
jQuery-UI ,
chart.js ,
jsgrid.jsSe estiver interessado, peço um recorte e um
repositório .
Tudo começou com um estudo de como registrar alterações de objetos no InterSystems IRIS, Ensemble e Caché DBMS.
Depois de ler um
ótimo artigo sobre isso, bifurquei o
projeto . e começou a finalizá-lo para suas necessidades.
O resultado é uma solução implementada como um painel da subclasse% CSP.Util.Pane, na qual há uma janela principal para comandos e um botão Executar, além de configurações para refinamentos de comandos.
Ao inserir "?" temos uma breve descrição desses comandos:
GlobalsMinha equipe mais frequente está vendo o global. Normalmente, esse é o protocolo global ao depurar seu próprio projeto ou o de outra pessoa. Pode ser visualizado na ordem inversa, bem como filtrando o link e os dados. Os nós encontrados podem ser editados e excluídos:

Você pode excluir todo o global digitando o comando após o nome menos ^ logMSW-
Mas apenas globais que começam com ^ log (protocolos globais) podem ser excluídos dessa maneira, ou seja, restrição implementada contra exclusão acidental.
Se você digitar “*” após o nome, obteremos uma lista de globais com características adicionais. O segundo "*" - adicionará um novo campo "MB alocado" e mais um asterisco - "MB usado". Essa combinação de dois relatórios e separação em "estrelas" é feita para dividir o relatório frequentemente formado sobre blocos ocupados de grandes globais.

Nesta placa, você pode clicar nos links ativos para visualizar o global em si ou para visualizar / editar de maneira padrão no portal de gerenciamento, clicando no campo Permissão em R ou W.
InquéritosConverter relatório para o formato ExcelA segunda função, em termos de frequência de uso, é a execução da consulta. Para fazer isso, inserimos a instrução sql como um comando.
O principal para mim, no Portal de Gerenciamento do Sistema padrão, foi executar consultas nas fontes JDBC / ODBC configuradas no DBMS e gerar os resultados no formato XLS, arquivar e enviar o arquivo para email. Para fazer isso, na minha ferramenta, antes de executar o comando, preciso ativar a caixa de seleção "Carregar no arquivo do Excel".
Esse recurso me poupa muito tempo na rotina diária e integro com êxito módulos prontos em novos aplicativos e soluções de integração.

Porém, para isso, primeiro você precisa configurar o caminho para criar arquivos no servidor e as credenciais do usuário e do servidor de email. Para isso, é necessário editar os nós das configurações globais ^ ^ App.Setting.
Salvando relatórios globalmenteMuitas vezes, é necessário salvar os resultados da execução do relatório no global. Para fazer isso, aplico o procedimento:
Por exemplo, se no painel o comando
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
salve o resultado da solicitação para contar o uso de licenças na matriz ^ GN e poderá ver o que foi salvo no painel com o comando:
result ^GN("%SYSTEM.License:Counts",0)
Módulos de função aumentadaE a segunda melhoria, que simplificou e automatizou bastante meu trabalho, é a implementação da capacidade de executar módulos especialmente escritos durante a formação de cada linha de consulta. Assim, de uma só vez, de uma só vez, posso incorporar novas funcionalidades ao relatório, por exemplo, links ativos para operações adicionais nos dados.
Exemplo 1: Trabalhando com a classe App.Parameter
Crie um parâmetro através do Navegador de Tabelas
Editar parâmetro via "Parâmetros"

Exemplo 2: Visualizando o Global Através do Link "Histórico"
GráficosImpressionada com o artigo [9] e para visualizar o crescimento dos bancos de dados, foi criada uma página que exibe um gráfico mensal dos tamanhos dos bancos de dados criados usando o arquivo iris.log (cconsole.log) dos registros “Expandir” retrospectivamente a partir do dia atual.
Por exemplo, um cronograma de eventos foi criado no InterSystems IRIS, que também é formado pelo arquivo de protocolo:

Links para materiais:
[1]
subsistema de registro em Kas[2]
Mingau instantâneo - Crud CRUD no Caché com jqGrid[3]
Gerenciadores SQL alternativos para Caché DBMS[4]
Exemplos de geração e envio de email usando o Caché DBMS[5]
Cache + jQuery. Início rápido[6]
Implantação de aplicativos[7]
Suporte UDL[8]
Veja globals no portal de gerenciamento de banco de dados de Caché[9]
Prometeu com Caché[10]
Localização no DBMS CachéAgradeço aos autores desses e de outros artigos que me ajudaram a criar essa ferramenta.
PS Este projeto está em desenvolvimento e muitas idéias ainda não foram implementadas. Num futuro próximo, pretendo fazer:
1. Modelo de aplicativo no
uikit framework
2. Código de documentação automática no formato Doxegen com integração ao CStudio