Question Norman W. Freeman · Jun 9, 2023

Is there a way to retrieve a list of all globals that have been read/written in a given context (eg: CSP request) or time period ?

Hello,

I would like to get a list of all globals that have been read or written during a given context. In Portal, there are counters in dashboard that give the number of read/write to globals in general.

What I am looking for : 

- some handler (eg: like $ZTRAP) that will be called everytime something is read/written to a global.

- to activate a "global log mode" in Portal that will dump some information to a file (like ^ISCSOAP for SOAP requests).

I understand this is something that can considerably slow down IRIS, but it's intended to be used only for debbuging and under no load.

As last resort, I could dump all globals (using ^$GLOBAL) and count the number of nodes inside, thern compare it after doing some operation (eg: a CSP request). That might work but this is time consuming and inefficient.

Product version: IRIS 2021.1
$ZV: IRIS for Windows (x86-64) 2021.1 (Build 215) Wed Jun 9 2021 09:56:33 EDT

Comments

Robert Cemper · Jun 9, 2023

If not disabled all global SET and KILL and also transactions are documented in JOURNAL
there are also related search utilities available in %SYS
there is no equivalent feature for Global READ.
if you just look for the fact that there was a SET or KILL at object level
DSTIME could be an option see example: 
https://community.intersystems.com/post/synchronize-data-dstime
it is easier to handle than JOURNAL
 

0
Norman W. Freeman  Jun 9, 2023 to Robert Cemper

This is exactly what I was looking for. Thanks a lot Robert.

0