为InterSystems IRIS上的开发人员提供的其他工具小组

一组用于监视和调查InterSystems IRIS数据平台,Ensemble集成平台和CachéDBMS上的应用程序错误和集成解决方案的其他工具,或另一辆自行车的历史。

在本文中,我想讨论一个应用程序,它与标准管理工具一起每天用于监视InterSystems IRIS平台上的应用程序和集成解决方案,并在发生错误时进行查找。
该解决方案包括查看和编辑全局数组,执行查询(包括JDBC / ODBC),以已归档XLS文件的形式发送电子邮件搜索结果。 查看具有编辑功能的类对象。 系统协议的一些简单图形。

这是一个基于jQuery-UIchart.jsjsgrid.js的CSP应用程序
如果有兴趣的话,我要求切割和储存

这一切都始于研究如何在InterSystems IRIS,Ensemble和CachéDBMS中记录对象更改。

在阅读了一篇很棒的文章之后,我分叉了这个项目 。 并开始根据他的需要完成它。

结果是将解决方案实现为%CSP.Util.Pane子类的面板,其中有一个用于命令的主窗口和一个“运行”按钮,以及用于命令细化的设置。

输入“?”时 我们对这些命令进行了简要说明:



全球

我最常去的团队正在浏览全球。 通常,在调试您自己或他人的项目时,这是全局协议。 可以按相反的顺序查看它,也可以同时过滤链接和数据。 找到的节点可以编辑和删除:



您可以在名称减号^ logMSW-后面输入命令来删除整个全局变量
但是只能以这种方式删除以^ log开头的全局变量(protocol globals)。 实施了防止意外删除的限制。

如果您在名称后输入“ *”,我们将获得带有其他特征的全局变量列表。 第二个“ *”将添加一个新字段“已分配的MB”,再加上一个星号“已使用的MB”,将两个报告合并为“星号”,以将长期使用的大型全局报告划分为长格式报告。



在此板上,您可以单击活动链接以查看全局本身,也可以通过单击R或W的“权限”字段以标准方式从管理门户查看/编辑它。

咨询处

将报告转换为Excel格式

就使用频率而言,第二个功能是查询执行。 为此,我们输入sql语句作为命令。

标准系统管理门户网站对我来说足够的主要事情是对在DBMS中配置的JDBC / ODBC源执行查询,并以XLS格式输出结果,将其归档并发送到电子邮件。 为此,在我的工具中,执行命令之前,我需要启用“上传到Excel文件”复选框。

此功能为我节省了很多日常时间,而且我成功地将现成的模块集成到新的应用程序和集成解决方案中。



但是为此,您首先需要配置在服务器上创建文件的路径以及用户和邮件服务器的凭据,为此,您需要编辑全局设置^ ^ App.Setting的节点。



全局保存报告

通常,需要将报表执行的结果保存在全局中。 为此,我应用以下过程:
对于JDBC:##类(App.sys).SqlToDSN
对于ODBC:##类(App.sys).SaveGateway
对于SQL语句:##类(App.sys)。
查询:##类(App.sys).SaveQuery

例如,如果在面板中
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
将请求的使用计数结果保存在^ GN数组中,您可以使用以下命令查看面板中保存的内容: result ^GN("%SYSTEM.License:Counts",0)



增强功能模块

第二个改进是极大地简化了我的工作并使之自动化,这是在每条查询行形成期间执行专门编写的模块的能力的实现。 因此,我可以一次性将新功能嵌入到报表中,例如,用于数据附加操作的活动链接。

示例1:使用App.Parameter类

通过表浏览器创建参数

通过“参数”编辑参数



示例2:通过“历史记录”链接查看全局



图表

文章[9]给人留下深刻的印象,并可视化了数据库的增长,创建了一个页面,该页面每月显示使用iris.log文件(cconsole.log)创建的数据库大小的每月图表,该图表使用当天的“ Expand”记录进行回顾。

例如,已经在InterSystems IRIS中创建了一个事件时间表,它也由协议文件形成:



资料链接:

[1] Kas中的日志子系统
[2] 即时粥-使用jqGrid在Caché中制作CRUD
[3] CachéDBMS的替代SQL管理器
[4] 使用CachéDBMS生成和发送电子邮件的示例
[5] 缓存+ jQuery。 快速上手
[6] 应用程序部署
[7] UDL支持
[8] 在Caché数据库管理门户中查看全局变量
[9] 普罗米修斯与Caché
[10] CachéDBMS中的本地化

我感谢这些文章以及其他帮助我创建此工具的文章的作者。

PS该项目正在开发中,许多想法尚未实现。 我计划在不久的将来做:

1. uikit框架上的应用程序模板
2.以Doxegen格式自动记录代码,并集成到CStudio中

Source: https://habr.com/ru/post/zh-CN436042/


All Articles