文章 姚 鑫 · 一月 14, 2023 3m read

第四十五章 使用 ^SystemPerformance 监视性能 - Abort ^SystemPerformance

Abort ^SystemPerformance

如果要停止正在运行的配置文件,可以中止数据收集,并可选择使用 $$Stop^SystemPerformance(runid) 命令删除配置文件的所有 .log 文件。例如,要中止由 runid20111220_1327_12hours 标识的报告的数据收集并删除到目前为止写入的所有 .log 文件,请在终端的 %SYS 命名空间中输入以下命令:

do Stop^SystemPerformance("20111220_1327_12hours")

要在不删除日志文件的情况下停止作业并从这些日志文件生成 HTML 性能报告,请输入:

do Stop^SystemPerformance("20111220_1327_12hours",0)

有关此命令的更多信息,请参阅以编程方式运行 ^SystemPerformance 小节中的 $$Stop^SystemPerformance("runid")

注意:必须有权停止jobs和删除文件。

以编程方式运行 ^SystemPerformance

0
0 126
文章 Hao Ma · 一月 12, 2023 10m read

InterSystems公司的技术支持中心WRC(World Response Center)提供的服务包括故障报修,升级和数据迁移支持等等。当客户报告了系统故障或性能问题给WRC时, 会被要求收集以下的两份报告,以了解系统的运行情况和性能表现,它们是:诊断报告(Diagnostic Report)和系统性能报告

诊断报告(Diagnostic Report)

有关诊断报告,您需要知道:

  1. 诊断报告是当前系统的运行状况的数据收集。
  2. 是给InterSystems技术支持工程师的,维护人员基本不需要读它。
  3. 当出现紧急故障需要重启系统时,先做一次诊断报告的收集,会对WRC在故障过后分析故障原因提供极大的便利。

报告收集的步骤

进入管理门户页面,“系统管理>诊断报告”(System Operation > Diagnostic Reports),点击运行

  • 报告收集通常需要5-10分钟

  • 执行开始后屏幕会出现提示:诊断报告在…时间运行.报告将储存在…目录中。成功后可以在“系统管理>任务管理器>任务历史“看到记录收集成功的记录。

  • 在运行前,您可以选择报告存放的位置(Diectory for archived reports).

0
0 344
公告 Hao Ma · 一月 12, 2023

我很高兴地宣布 ObjectScript 包管理器 ZPM 的生命周期中的一个里程碑。包管理器使开发人员能够以一种方便的方式巧妙地打包 ObjectScript 代码和部署配置设置以及版本信息。在过去的几年里,它已经发展成为许多开发工作流程中不可或缺的一部分。

事实证明,InterSystems 决定使用它来打包我们自己的组件非常重要,这促使我们决定将 GitHub 存储库从社区移至我们的公司存储库,并将其重命名为InterSystems Package Manager (IPM)IPM 仍将是开源的。社区成员将能够审查代码并提交拉取请求。但这种变化使我们能够以非员工能够直接对代码库进行更改的方式确保软件的安全性。更高级别的安全性和信任对于可以将代码与您的数据一起安装的软件来说至关重要。

所以请和我一起庆祝 ZPM 的生命,欢迎 IPM 的诞生,并感谢贡献者——尤其是 Nikolay Soloviev 和@Dmitry Maslennikov,他们再次展示了对开发人员需求的惊人洞察力,以及技能和奉献精神构建出色的软件!

---

https://github.com/intersystems/ipm

0
0 253
文章 姚 鑫 · 一月 11, 2023 4m read

第四十一章 使用^%SYS.MONLBL检查例程性能 - 逐行监控报告示例

本节包含 ^%SYS.MONLBL 例程生成的各种报告的示例:

Line-by-line Detail Report

Line-by-line Summary Report

Line-by-line Delimited Output Report

Line-by-line Procedure Level Report

Line-by-line Detail Report

以下是报告所选期刊实用程序的最小指标详细信息的示例,包括覆盖率分析。报告被发送到 monlbl_JRN_dtl.txt 文件,其中显示了一部分。

Line-by-Line Monitor
 
1.) Stop Monitor
2.) Pause Monitor
3.) Clear Counters
4.) Report - Detail
5.) Report - Summary
6.) Report - Delimited (CSV) Output
7.) Report - Procedure Level
 
Enter the number of your choice: 4
Include Coverage Analysis summary (Y/N)?
0
0 111
公告 Claire Zheng · 一月 10, 2023

亲爱的社区开发者们,

我很高兴地向大家介绍一位我们的新版主 @牛宇翔

@牛宇翔 目前担任首都医科大学附属北京友谊医院信息中心临床组组长。

以下是@牛宇翔 的自我介绍:

本人有接近10年的医疗信息化经验,目前在我院,带领一个微型小团队,基于Ensemble数据库做医院信息系统(Hospital Information System, HIS)应用端研发,我们团队熟悉HTML、CSS、JavaScript及衍生前端语言,日常工作主要根据用户需求开发对应功能,结合临床业务难点痛点,不断优化程序功能。经过两年的学习和努力,我们团队已完成临床新增功能和优化需求共计一千余条,随着科室人力的发展,我们的开发力量会越来越强,可以更好地保证临床需求的及时响应,不断优化和完善系统BUG,提高临床工作效率。与此同时,我还担任应急小组成员,负责进行数据库运维和问题处理,保证第一时间排查故障。

InterSystems 提供了一个非常优秀的集成平台,借助该技术,给我们业务带来了非常大的便利。我也希望这么优秀的技术,能给更多的兄弟单位和合作伙伴创造价值。我也希望能够在社区与大家一起交流,分享自己的一些实践经验;同时也希望借助这个平台,向大家学习一些优秀的实践。我们一起成长,共同进步!

再次欢迎我们的新版主 @牛宇翔👏🏼👏🏼👏🏼👏🏼👏🏼

期待你在InterSystems开发者社区成长为一名优秀版主!

1
0 316
文章 姚 鑫 · 一月 8, 2023 3m read

第三十八章 使用^%SYS.MONLBL检查例程性能

例程^%SYS.MONLBL为监视器工具提供用户界面。该实用程序提供了一种方法来诊断在例程中执行选定代码所花费的时间,从而帮助识别特别耗费资源的代码行。它是现有监视器实用程序的扩展,可通过^PerfMon%Monitor系统程序包类访问。由于这些实用程序共享相同的内存分配,因此一次只能在IRIS实例上运行其中一个实用程序。

调用逐行监视例程

如果在调用^%SYS.MONLBL时监视器没有运行,则例程会显示一条警告消息,并提供启动监视器或检查内存要求的选项。例如:


%SYS>Do ^%SYS.MONLBL
  
  
WARNING ! Starting the line-by-line monitor will enable the
  collection of statistics for *every* line of code executed by
  the selected routines and processes. This can have a significant
  impact on the performance of a system, and it is recommended
  that you do this on a 'test' system.
0
0 112
问题 water huang · 十一月 20, 2022

请问下,项目上数据库用的是cache2010 ,有些文件是部署的,现在想要备份,在cache2016里面可以导出obj为xml,但是cache2010 导出的时候会报错,ERROR #6080: Can not export 'OBJ' type in %RO format for item “xxxxx” 要报错 。

2
0 263
文章 姚 鑫 · 一月 7, 2023 4m read

第三十七章 使用 ^PROFILE 监控例程性能 - Using ^PROFILE

  • 当显示子例程标签列表(以及每个标签的指标)时,可以指定以下任何一项
Option Description
# 要更详细地分析的子例程标签(在代码中)的行号。按 Enter 后,将显示指定标签的代码。
B 显示列表的上一页。
L 切换到子程序的行级显示。
N 显示列表的下一页。
Q 退出列表,返回上一级。
R 使用最新指标刷新列表。注:如果列表中显示*UNKNOWN*,请输入R

当显示代码行时,系统会提示指定下一步要执行的操作。的选择包括:

Option Description
# 要更详细地分析的代码中的行号。按Enter键后,将显示指定标签的代码。
B 显示列表的上一页。
C 在源代码和中间(INT/MVI)代码之间切换代码显示。
M 更改页边距和长度。
N 显示列表的下一页。
O 根据不同的指标对页面进行重新排序。
Q 退出列表,返回到上一级别。
R 使用最新指标刷新列表。
S 切换到例程的子例程级别显示。

^PROFILE 示例

以下是在终端中以交互方式运行^配置文件实用程序(从%sys命名空间)的示例:

  1. 输入以下命令:
do ^PROFILE
  1. 此时将显示以下消息。
0
0 107
文章 姚 鑫 · 一月 6, 2023 3m read

第三十六章 使用 ^PROFILE 监控例程性能 - Using ^PROFILE

^PROFILE 实用程序可帮助程序员分析其应用程序例程和类的性能。它分两个阶段完成此任务:

  1. 它收集数据,按例程级别分类,以帮助您确定哪些例程最“有效”。
  2. 它允许选择要收集的例程并在行级别详细显示数据(子例程、过程和单独的行),以便可以“向下钻取”到可能导致性能问题的各个例程。

默认情况下,^PROFILE 捕获最多 5000 个例程的指标;如果没有足够的共享内存可用于最大数量的例程,该实用程序会显示一条消息,说明监视此集合所需的内存页数和可用页数。然后,该实用程序会捕获尽可能多的例程的指标。

Using ^PROFILE

%SYS 命名空间调用 (^PROFILE) 实用程序:

%SYS>do ^PROFILE

当系统提示开始收集数据时,按 Enter

注意:当系统提示回答(是或否除外)时,可以输入显示联机帮助。

默认情况下,配置文件显示具有以下指标的例程编号列表;最初,列表按 RtnLine 指标排序:

Column Title (Metric) Description
RtnLine 执行的例程代码行数。默认情况下,它将值列为所有已执行代码行的百分比。
Time 执行例程所用的时间。默认情况下,时间列为所有例程使用的总时间的百分比。
CPU 用于执行例程的 CPU 时间。
0
0 140
文章 Nicky Zhu · 一月 6, 2023 8m read

国务院于2022年12月19日发布了《中共中央 国务院关于构建数据基础制度更好发挥数据要素作用的意见》(后简称《数据二十条》),如何有效利用数据已经成为下一步的趋势。另一方面,无论是基于数据中台还是数据编织理念,两者也都对如何利用数据提出了构想。因此医疗行业数字化建设的目标已不能再局限于如何收集数据,建立医疗行业数据的流通机制将会是为越来越普遍的需求。

 

时钟拨回几年前,数据中台概念开始火爆。人们对数据中台的定义、诠释尽管有诸多差异,通过数据中台降低数据共享和利用的成本则是共同的期望。但经过这几年的探索之后,中台已死的观点也在涌现。究其原因,除去中台概念在技术上的不确定,数据流通过程中的责权益的不清晰也是严重的制约因素。毕竟,数据中台自身作为一套技术框架并不能代替法律法规与市场自动将数据转变为商品从而创造出流通价值。

那么,如何能够使数据的流通合规合法,使数据能够如货币和商品一般自由流动,则是我们需要思考和探索的主题,这次《数据二十条》的出现,无疑为医疗信息技术工作者提供了一个明确的思考方向。

0
0 381
问题 Undefined Undefined · 九月 23, 2022

Journaling is NOT on. Updates will NOT be journaled
*** Missing previous 1 files that may contain TSTARTs

ERROR: <ZFILE>ScanForOpenTrans+42^JRNRESTB

There is a problem with searching for open transactions in older files.
If you decide to continue, transactions started in files earlier than
the first one to be restored might remain open after the restore.

Do you want to abort? Yes => No

请问什么情况下会触发出现Do you want to abort?

在门户网站查看数据库Global Journal也是勾选上的.

2
0 217
问题 water huang · 十一月 17, 2022

环境是windows server2012 r2 standard+ensemble2016.

新搭建的环境,安装ensemble的时候,选的是正常模式,就是设置了密码,然后新建了命名空间,发布了bs服务(webservice服务),访问的时候需要用户密码,如果在安全里面的web应用程序里面设置为不需要密码,不勾选密码,就访问不了服务,production页面都进不去。这个还需要什么配置吗?期望的效果是,登录portal需要用户名密码,但是对应某些命名空间发布的web服务,不需要用户密码就能访问

3
0 344
文章 Hao Ma · 一月 4, 2023 4m read

以下是我们应客户的要求拟定的Caché系统健康检查的建议。InterSystems的工程师们认为其中的项目足以了解客户当前的系统健康状况。

这些项目中有些,比如Buttons, pButtons报告是必须的,其他内容,尤其是问卷部分,越多回答对系统健康的了解也越清楚。InterSystems公司的技术支持中心WRC(World Response Center),在合适的条件下可以协助用户解读健康检查的结果。

在后面的内容中, 我会详细介绍这些检查的项目,比如报告的执行步骤,已经如何简单的发现问题。

检查的内容也适用于IRIS,仅仅是执行的步骤上有细微的区别,后面文章会详细说。

健康检查项目

本健康检查只用于Caché系统本身的内容, 不包括Caché上使用的各种应用。

建议用户收集下列两部分数据和资料:

系统运行数据

  • 所有Caché实例服务器的网络架构图,包含所有的数据服务器,应用服务器,镜像服务器,灾备服务器。还应该包含网段的划分, 相关的Web服务器,负载均衡设备的部署等情况。以及一切客户认为和Caché工作相关的网络配置的情况。

  • Caché数据库使用的存储设备的信息, 不限于类型,大小,品牌等等任何可以帮助了解存储设备的信息。

  • 所有数据库上一次的完整性检查报告。

0
0 444
文章 Hao Ma · 一月 4, 2023 4m read

本文章是一个系列,主要目的是介绍给IRIS,Caché的终端用户如何方便的监控您的系统。

InterSystems系统的监控很难吗?需要学习很多技术吗? 我的答案是还好。

关于Caché和IRIS监控,无论是那部分内容,在InterSystems的在线文档或者开发者论坛,其实都能找到相关的说明和方案。但问题是太多,太杂乱,没有一个“操作维护手册”的东西。结果是,如果您是一个新手的InterSystems产品的维护工程师或者管理员,您要花很多的时间在大量的文档里找答案。

还有一个问题是文档中很多章节的内容又太深,包含了一些开发人员才关心的内容,这是Caché或者IRIS的特性造成的,因为它首先是一个开发平台。结果是,对于管理员,很多文档的很不友好。

因此,我要写的这个文章的的目的是这样的:

  • 简单。只介绍管理维护人员需要的内容。只介绍和监控相关的内容。其他比如备份恢复,扩容,修改配置等等基本不涉及。

  • 易学。文章的期待读者是系统管理员,因此不需要您有编程能力或者InterSystems编程语言的基础。我系统对您的每个日常工作和关注的主题,给出最容易实现的操作步骤。

  • 对读者的要求低,您只需要了解基本的Caché操作,包括

  • Caché的用户维护界面

    • 操作终端(Terminal)的操作
  • 基本的Caché命令的格式

让我们进入主题。有几个要点要先交代一下。

0
0 782
文章 sun yao · 一月 4, 2023 6m read

一、目的 因使用BP中Switch分支来区分不同节点(即接口)及流向,个人已知方法中无相关统计功能能直接获取各分支节点及流向BO(调用第三方系统)信息,且当前使用系统未封装相关模块供查询,故通过解析BP中XData的方式获取Switch-Case节点及Call调用相关信息

二、解析类中的XData数据

/// 解析类中的XData内容
/// SELECT * FROM %Dictionary.CompiledXData
/// xdataID XData表ID
/// d ##class(BOE.TEST.ClassAnalysis).XDataAnalysisTextReader("JHIP.SM.BP.View||BPL")
ClassMethod XDataAnalysisTextReader(xdataID As %String) As %Status
{
   //获取XData流
   s compiledXdata=##class(%Dictionary.CompiledXData).%OpenId(xdataID)
   s tStream=compiledXdata.Data
   If '$IsObject(tStream) s tSC=%objlasterror q
   
   //逐行读取xml
   s status=##class(%XML.
0
0 244
文章 Claire Zheng · 一月 4, 2023 1m read

这是InterSystems 2022年全球峰会上InterSystems 医疗行业负责人 Don Wooklock 的分享,他认为,在数字医疗发展如火如荼的当下,经济、消费主义和技术三股力量正在推动医疗行业快速变革。我们面临着压力,但更多的是机遇,利用好市场能量,在具备变革精神的医疗卫生行业中,全力以赴!

0
0 264
文章 Claire Zheng · 一月 4, 2023 1m read

在InterSystems 2022年全球峰会上,InterSystems 数据平台负责人 Scott Gnau解读了智能数据编织(smart data fabric)及其实现方式。Scott 同时也是一位钢笔收藏家,他分享了自己学习收藏的过程,认为这种过程与智能数据编织有着异曲同工之妙。InterSystems IRIS数据平台的诸多优秀能力可以帮助用户实现智能数据编织,重塑数据利用方式!

0
0 195
文章 Claire Zheng · 一月 4, 2023 9m read

2022年,香港大学深圳医院迎来建院十周年。作为深港合作医疗平台和公立医院改革试点,医院是由深圳市政府全额投资,并引进香港大学现代化管理模式的大型综合性公立医院。十年来,医院全力打造集“医、教、研、管”为一体的四个粤港澳大湾区国际化中心,2021年7月成为国家公立医院高质量发展试点医院,2021年12月成为国家建立健全现代医院管理制度试点医院。目前,医院正在探索改革创新路径,全面配合公立医院高质量发展对信息化建设提出的需求。

0
0 316
文章 water huang · 九月 25, 2022 25m read

日常工作中,JSON使用越来越多,很多其他的语言里面有成熟的JSON API,但cache 我一直没找到。而同事们使用的基本都是自己写的一些JSON工具。这些小工具,多多少少有些局限。使用ensemble2016后,发现了 Ens.Util.JSON类,他可以处理JSON。翻阅代码后,实际上主要API是 %ZEN.Auxiliary.abstractController。在使用中,我们遇到一个问题,那就是有些JSON的节点名是带有下划线的,这个不太好处理。一般来说,我们把对象转为xml的时候,对象的属性我们是去掉下划线的,带下划线的名字是用 XMLNAME来设置的,于是考虑JSON里面也使用它(如果配置了)作为对象转JSON的时候,JSON的名字。修改 %ZEN.Auxiliary.jsonProvider %WriteJSONStreamFromObject方法后,发现ensemble的一些自带的页面的功能受到了影响。因此重新建立了一个副本。这里假定为 Util.JSON Extends %ZEN.Auxiliary.abstractController [ System = 3 ]。

4
0 331
文章 Lilian Huang · 十二月 31, 2022 10m read

在上一篇文章中,我们讨论了标准 HL7v2 的起源、结构和消息类型。现在让我们看一下最常用的消息类型之一及其结构示例。我说的是 ADT。

HL7 ADT 消息(入院、出院、转院)用于在医疗机构传达基本患者信息、就诊信息和患者状态。 ADT 消息是使用最广泛且容量最大的 HL7 消息类型之一,因为它为许多触发事件提供信息,包括患者入院、注册、取消、更新、出院、患者数据合并等。

0
0 1275
问题 cy f · 十二月 9, 2022

我参阅得文档

https://docs.intersystems.com/iris20222/csp/docbook/DocBook.UI.Page.cls?KEY=BNETODBC

我使用得方式

https://docs.intersystems.com/iris20222/csp/docbook/DocBook.UI.Page.cls?KEY=BNETODBC_unixodbc#BNETODBC_unixodbc_odbcinst

我使用得是unixodbc版本

unixODBC 2.3.4

系统版本(ubuntu 1804)

uname -a
Linux DESKTOP-TFPBPQU 4.4.0-19041-Microsoft #1237-Microsoft Sat Sep 11 14:32:00 PST 2021 x86_64 x86_64 x86_64 GNU/Linux

我使用得驱动如下

ODBC-2020.1.2.517.0-lnxubuntux64.tar.gz 不生效

ODBC-2022.1.0.209.0-lnxubuntu1804x64.tar.

2
0 327
文章 Hao Ma · 三月 25, 2021 2m read

在Caché时代, 比较受欢迎的IRIS数据库客户端是Sqldbx和Winsql, 这两者的共同点是提供ODBC兼容的连接,而且免费。限制也差不多:只能用于Windows环境,只能用ODBC连接。 

DBeaver是我最近使用的免费SQL客户端, 推荐给各位。它有几个好处:

1
1 649