検索

Discussão
· Out. 31, 2024

Is anyone using IPM on a version earlier than 2022.1?

Is anyone using the IPM client (e.g., running commands like zpm "install somepackagename") on an IRIS version earlier than 2022.1?

We're thinking about raising the minimum supported version so we can use Embedded Python in IPM. I'm curious if this would impact anyone. Of course, you'd be able to continue to use an earlier version of IPM.

3 Comments
Discussão (3)2
Entre ou crie uma conta para continuar
Pergunta
· Out. 31, 2024

Why does RAM usage differ between /api/monitor/metrics (Prometheus) and Zabbix?

I built a monitoring system in Grafana using the IRIS API /api/monitor/metrics (reading with Prometheus) but I noticed that the RAM usage shown was below that shown by the operating system.
I installed the Zabbix agent and the usage values ​​were higher, but with a line with the same highs and lows but shifted.
The metric in the API is iris_phys_mem_percent_used, described as "Percent of physical memory (RAM) currently in use", in Zabbix it is the Item tag: "component: memory" item: "Memory utilization".


Image below of the graphs in Grafana:

Using the command "free -h" the server returns:

            total        used        free         shared     buff/cache   available
Mem:  15Gi       8.1Gi        6.8Gi       3.2Gi        3.7Gi              7.0Gi
 

What exactly does the iris_phys_mem_percent_used metric return?
Would it be the use of physical memory exclusively by IRIS? If so, is there any other metric in the IRIS API that returns the total RAM usage of the server?

2 Comments
Discussão (2)2
Entre ou crie uma conta para continuar
Artigo
· Out. 30, 2024 2min de leitura

第六章 主设备、当前设备、空设备

第六章 主设备、当前设备、空设备

明确使用主设备

USE 0USE $principal向进程的主体设备隐式发出OPEN命令。如果另一个进程拥有该设备,则该进程会挂在隐式OPEN上,就像它遇到任何OPEN时一样。

为该进程不拥有的任何其他设备(由于先前的OPEN命令)发出USE命令会产生错误。

仅当进程获取设备时,没有超时的OPEN命令才将控制权返回给进程。可以通过键盘中断命令(如Ctrl-C )中断打开命令。由于保护问题或无效设备名称而无法成功的OPEN将永远挂起。当在OPEN命令中指定超时时, OPEN将在超时到期时将控制权返回给进程。

使用主设备的选项

根据主要设备的性质,可以指定其他特定于设备的参数,这些参数对于管道(进程间通信) 、文件和终端 I/O是不同的。例如,可以使用 TLS 连接打开主设备:

Discussão (0)1
Entre ou crie uma conta para continuar
Pergunta
· Out. 30, 2024

Using the other unit testing frameworks with IPM?

I assume IPM manifest tag UnitTest is tightly coupled with the standard unit test framework, right? However we have our own one that predates the standard one and we are not going to switch.

I think I need to import the unit test cases and then be able to run a single class method for the test run. Any ideas how this would be possible?

9 Comments
Discussão (9)3
Entre ou crie uma conta para continuar
Pergunta
· Out. 30, 2024

dynamic SQL in object script code

i am trying to embed a dynamic SQL into Objectscript code , but the %NEXT() will return 0 , however when i copy the same query and run it in the SQL bit it will give me the result i want 
the code :

set myquery = "SELECT"
set myquery = myquery_" $PIECE(Substring(M.Rawcontent,Charindex('PD1|',M.Rawcontent),1000),'|',4),"
set myquery = myquery_" H1.TargetConfigName,"
set myquery = myquery_" H.Timecreated,"
set myquery = myquery_" H.MessageBodyId"
set myquery = myquery_" FROM"
set myquery = myquery_" Ens.MessageHeader H"
set myquery = myquery_" left outer join Enslib_HL7.Message M ON (H.MessageBodyId=M.ID)"
set myquery = myquery_" left outer join Ens.MessageHeader H1 ON(H.SessionID=H1.SessionID AND H1.TargetBusinessType='BusinessOperation')"
set myquery = myquery_" left outer join Enslib_HL7.Message M1 ON (H1.MessageBodyId=M1.ID)"
set myquery = myquery_" WHERE"
set myquery = myquery_" H.Timecreated >= '2024-10-14 00:00:00.000' AND"
set myquery = myquery_" H.Timecreated <= '2024-10-29 00:00:00.000' AND"
set myquery = myquery_" H.SourceConfigName IN ('Epic ADT_Router') AND"
set myquery = myquery_" H1.TargetConfigName IN ('EMS - Outgoing ADT/Scheduling/Orders') AND"
set myquery = myquery_" LEN($PIECE(Substring(M.Rawcontent,Charindex('PD1|',M.Rawcontent),1000),'|',4)) > 4"
set myquery = myquery_" GROUP BY"
set myquery = myquery_" H1.TargetConfigName"
$$$LOGINFO(myquery)
set tStatement = ##class(%SQL.Statement).%New()
set qStatus = tStatement.%Prepare(myquery)
if qStatus'=1 {write "%Prepare failed:" do $System.Status.DisplayError(qStatus)}
set rset = tStatement.%Execute()
if (rset.%SQLCODE '= 0) {write "%Execute failed:", !, "SQLCODE ", rset.%SQLCODE, ": ", rset.%Message quit}
$$$LOGINFO(rset.%SQLCODE)
Do rset.%Display()
//$$$LOGINFO(rset.%Display())
$$$LOGINFO(rset.%Print("|"))
$$$LOGINFO("Next "_rset.%Next())
$$$LOGINFO("GETDATA "_rset.%GetData(1))
while rset.%Next(){
$$$LOGINFO("Print "_rset.%Print("^|^"))
$$$LOGINFO("ODS "_rset.ods)
$$$LOGINFO("GETDATA "_rset.%GetData(1))
}

here is the  SQL runner results :

2 Comments
Discussão (2)3
Entre ou crie uma conta para continuar