查找

Article
· May 9, 2023 2m read

Helper for Objectscript Language Extensions

Creating your own commands or shortcut is one of the strongest features of ObjectScript
If you create your own Language Extensions to ObjectScript you mostly have to find the
proper %ZLANGC00 or %ZLANGV00 or %ZLANGF00 and add the extensions manually.

A few utilities do it already automatically (ZPM, ZME, ..)
This utility allows you to add your extensions also programmatically.

  • eg. at first run, or during installation I found this quite useful for my Docker-based demos as it all happens at start time.

This package includes a demo example to visualize the operation of this utility.

How to Use it

 ; typ = "C" ... command extentson
 ;       "F" ... function extension
 ;       "V" ... variable Extensin
 ; ext = name of the extension
 ; code (by ref) numbered array of lines to add
 ;  
 ; do cmd^zLangExtender(typ,ext,.code)   ;>> add extension 

How to Test it

Open IRIS terminal or console

USER>ZN "%SYS"   
%SYS>do ^zLangExample  
Compiling routine : %ZLANGF00.mac  
label="ZZDUMMY"   
line=6  
line(1)=" ; "   
line(2)=" ; just a demo dummy"  
line(3)="ZZDUMMY(%a) "    
line(4)=" quit " I got '"_%a_"' for test""   
line(5)=" ; what a nice demo "  
line(6)=" ; "   
sc=1   
typ="F"   
**** try ****  
sc=" I got 'hi folks' for test"    
result:
         ;Generated by %ZPM.PackageManager: Start
ZPM(pArgs...) Quit ##class(%ZPM.PackageManager).Shell(pArgs...)  
         ;Generated by %ZPM.PackageManager: End  
         ;  
         ; just a demo dummy  
ZZDUMMY(%a) 
         quit " I got '"_%a_"' for test"  
         ; what a nice demo
         ;
%SYS>   

And if you run it a second time ?
It returns a standard error %Status.

%SYS>do ^zLangExample
%objlasterror="0 ...ZZDUMMY^%ZLANGF00 already defined.........
label="ZZDUMMY"
line=6
line(1)=" ; "
line(2)=" ; just a demo dummy"
line(3)="ZZDUMMY(%a) "
line(4)=" quit " I got '"_%a_"' for test""
line(5)=" ; what a nice demo "
line(6)=" ; "
sc=""0 ...ZZDUMMY^%ZLANGF00 already defined.........
typ="F"
ERROR #5001: ZZDUMMY^%ZLANGF00 already defined
%SYS>

Warning

It is meant mainly for COS experts !

GitHub

Video

Discussion (0)1
Log in or sign up to continue
Article
· May 8, 2023 4m read

ヘルスモニタでのチェック頻度およびアラート通知条件の確認と変更方法

これは InterSystems FAQ サイトの記事です。

InterSystems IRIS では、柔軟でユーザ拡張可能な監視ツールである「システムモニタ」をお使いいただくことが可能です。

システムモニタには、以下の3つのインスタンス監視ツールがあります。

  • システムモニタ:システムの状態およびリソースを監視・固定パラメータに基づいて通知 (アラートおよび警告) を生成
  • ヘルスモニタ:主要なシステムメトリックおよびユーザ定義メトリックをサンプリング&ユーザ変更可能パラメータおよび規定の通常値と比較し、該当しきい値を超えた場合に通知を生成
    ※ヘルスモニタは既定では無効となっています。
     起動するには、^%SYSMONMGR を使用してヘルスモニタを有効にする必要があります。
     ただし、システムモニタのサブスクライバクラスは、ヘルスモニタが有効でなくても動作します。
  • アプリケーションモニタ:重要なシステムメトリックをサンプリング&ユーザが作成したアラート定義を使用して評価

messages.logに、以下のようなログが記録される場合があります。

[SYSTEM MONITOR] DBLatency(c:\xxx\) Warning: DBLatency = 1510 ( Warnvalue is 1000).
※このメッセージの意味については こちらの記事 をご覧ください。

このメッセージはシステムモニタのインスタンス監視ツールであるヘルスモニタにより出力されています。
システムモニタは色々なリソースの使用状況を監視する機能です。
メッセージ中のDBLatency は、データベースの読み取り I/O 速度(ディスク I/O 応答速度)を監視し出力しているものです。


ご参考ドキュメント
IRIS ヘルス・モニタ


このシステムモニタよりコンソールログへメッセージが出力されますが、メッセージの重要度が 0 のものは、インフォメーションのメッセージになります。

センサオブジェクトで設定された最大値や警告値を超えた場合は、メッセージの重要度が 1 Warning , 2 Alert のものを出力します。

Alertの場合:
ある期間のセンサの読み取り値が 3 回連続してセンサの最大値を上回った場合にアラート (深刻度 2 の通知) を生成
Warningの場合:
ある期間のセンサの読み取り値が 5 回連続してセンサの警告値を上回った場合にワーニング (深刻度 1 の通知) を生成


ヘルスモニタのセンサーオブジェクトの設定(最大値等の変更)は、^%SYSMONMGR ユーティリティを使用して行えます。
※システムモニタのセンサオブジェクト設定は固定パラメータであるため変更はできません。

変更例)

DBLatencyのログ出力のしきい値を、
 Alert (深刻度 2 の通知):3000 から 4000 へ
 Warning (深刻度 1 の通知):1000 から 2000 へ
に変更します。

センサオブジェクトの設定を行う前に システムモニタを停止する必要があります。

%SYS>do ^%SYSMONMGR
1) Start/Stop System Monitor
2) Set System Monitor Options
3) Configure System Monitor Classes
4) View System Monitor State
5) Manage Application Monitor
6) Manage Health Monitor
7) View System Data
8) Exit
 
Option? 1
1) Start System Monitor
2) Stop System Monitor
3) Exit
 
Option? 2
Stopping System Monitor... System Monitor stopped
 
1) Start System Monitor
2) Stop System Monitor
3) Exit
 
Option?

センサオブジェクトのしきい値の変更を行います。

%SYS>do ^%SYSMONMGR
1) Start/Stop System Monitor
2) Set System Monitor Options
3) Configure System Monitor Classes
4) View System Monitor State
5) Manage Application Monitor
6) Manage Health Monitor
7) View System Data
8) Exit
 
Option? 6
1) Enable/Disable Health Monitor
2) View Alerts Records
3) Configure Health Monitor Classes
4) Set Health Monitor Options
5) Exit
 
Option? 3
1) Activate/Deactivate Rules
2) Configure Periods
3) Configure Charts
4) Edit Sensor Objects
5) Reset Defaults
6) Exit
 
Option? 4
1) List Sensor Objects
2) Edit Sensor Object
3) Exit
 
Option? 2
Sensor? ?
 
 Num  Sensor                         Threshold
:
  9)  DBLatency
 10)  DBReads
 11)  DBWrites
 12)  DiskPercentFull
: 
Sensor? 9 DBLatency
Base? 1000 => 
Alert Value? 3000 => 4000   <-- Alert(2) メッセージ出力レベルを 4000 に変更
Setting Max Multiplier and Warn Multiplier to 0. Enter a Warn Value
 
Warn Value? 1000 => 2000   <-- Warming(1) メッセージ出力レベルを 2000 に変更
Sensor object DBLatency updated.
Base           750
MaxMult        0
AlertValue     4000
WarnMult       0
WarnValue      2000
1) List Sensor Objects
2) Edit Sensor Object
3) Exit
 
Option?   <-- このあと全て <Enter> で抜ける

システムモニタを再開することで、設定したセンサオブジェクトの値が有効になります。

%SYS>do ^%SYSMONMGR
1) Start/Stop System Monitor
: 
Option? 1
1) Start System Monitor
2) Stop System Monitor
3) Exit
 
Option? 1
Starting System Monitor... System Monitor started
 
1) Start System Monitor
2) Stop System Monitor
3) Exit
 
Option?   <-- このあと全て <Enter> で抜ける

※変更可能なセンサオブジェクトの一覧は こちら をご覧ください。

Caché 用に作成された資料になりますが、以下で^%SYSMONMGRユーティリティについて詳しく説明をしています(IRISでも根本機能は同じです)。ぜひ参考になさってください。
モニタリングツールによるシステム監視(P.8~)

Discussion (0)0
Log in or sign up to continue
Please note that this post is obsolete.
Announcement
· May 2, 2023

[Video] Healthcare Action Engine and CDS Hooks: Sneak Peek

Hi Community,

Watch this video to learn how the upcoming Healthcare Action Engine will combine event detection, complex logic, and a notification framework to improve synchronous and asynchronous notifications:

⏯ Healthcare Action Engine and CDS Hooks: Sneak Peek @ Global Summit 2022

🗣  Presenter: @Frank Pandolfe, Clinical Product Specialist, InterSystems

Subscribe to InterSystems Developers YouTube to stay up to date!

Discussion (0)2
Log in or sign up to continue
Discussion (2)1
Log in or sign up to continue
Article
· Apr 28, 2023 2m read

How to create a new idea on InterSystems Ideas

Hey Community!

Here is a short article on how to create an idea on InterSystems Ideas

0. Register on Ideas Portal if you aren't a member yet or log in. You can easily register using your InterSystems Developer Community ID.

1. Read carefully Portal Guide page on the Ideas Portal, especially "Idea promotion rules" section. All posted ideas are moderated following these rules.

2. Click on the "Add a new idea" button

and you will see the form to add the idea.

3. First, provide a one-sentence summary of the idea which is the required field. When you start typing, you will see a list of ideas with similar words in their names or tags. In case a similar idea is already created, vote or comment on this idea. The optimal size of an idea summary is 4-12 words.

4. Next, describe the idea in the "Please add more details" field.

In addition to text, you can attach screenshots or other files and insert tables and links. There is a full-screen mode that helps you see the whole description of your idea without scrolling.

5. Then you need to fill in the required field "Category". The correct category will help to assign your idea to the appropriate expert in the InterSystems team. 

In case you first sorted ideas by category and then pushed the button "Add a new idea", the idea's category will be added automatically.

6. Optionally, you can add tags to your idea, so other users can find it easily based on tags. The list of tags starts with tags having an "InterSystems" title, all other tags are sorted in alphabetical order.

7. Click on "Add idea" to submit.

    Hope this helps you share your ideas with others! If you have any questions, please send a direct message to @Irène Mykhailova.

    ---------------------

    * Please take into account that ideas and comments should be in English.
    * Ideas Portal admins can ask questions using Developer Community direct messages to clarify the idea and its category. Please answer these questions to make your idea visible to all users.
    * When you create an idea, you automatically subscribe to e-mail notifications related to your idea, including:

    • changes in the status of your idea
    • comments on your idea posted by portal admins (you don't get notifications about comments from other users) 
    Discussion (0)1
    Log in or sign up to continue