By placing the keyword DIAGNOSTICS USER_FUNCTIONS in the ctsrvr.cfg file, a table of “called” functions will be written to the CTSTATUS.FCS file for each user who “ever” logged on to the server. In order to activate this feature, a special diagnostics server must be generated by activating the following #define in ctopt2.h:
#define ctDIAG_FNC_MON 10
The value (defaults to 10) represents the number of “last-functions” or “depth-of-history” you wish keep track of. Raising this value will cause additional global memory to be needed, for the history for each user (server defaults to supporting up to 1024 users) is tracked using global memory buffers.
A function has been added to ctdosv.c named ‘ctSHowDiagFncMon’. This is the function that will be called when the server shuts down (called in ctcatend()) or has an exception (Win32 only: called in Win32 exception handler). Each users buffer is circular, which means the output must be inspected for the sequence number in order to see the exact order of the calls. Also, the same buffer is used for all user of a particular user number. In other words, it is possible for one user to be, say USER #45, and then log off, then another user logon and use slot number #45. Therefore, the function output presented in this table for a particular user number might be two separate users. Look for the log off sequence in the output.
In addition to tracking the FairCom DB calls made by each user, this feature will also output a table showing the total number of times each FairCom DB function has been called. A user might use this feature to inspect that only the functions that were expected to be called, were, in fact, the ones that were called.
The following tables will be written to the CTSTATUS.FCS file:
=================================
== START USER FUNCTION RECAP ==
---------
Client#07 func#077-GETMAP seq# 2936 cnt# 265 on:Thu Jun 22
07:23:38 2000 vcusti
Client#07 func#050-GETALTSEQ seq# 2938 cnt# 795 on:Thu Jun 22
07:23:38 2000 vcusti
Client#07 func#076-GETSEG seq# 2940 cnt# 795 on:Thu Jun 22
07:23:38 2000 vcusti
Client#07 func#050-GETALTSEQ seq# 2942 cnt# 795 on:Thu Jun 22
07:23:38 2000 vcusti
Client#07 func#076-GETSEG seq# 2944 cnt# 795 on:Thu Jun 22
07:23:38 2000 vcusti
Client#07 func#050-GETALTSEQ seq# 2946 cnt# 795 on:Thu Jun 22
07:23:38 2000 vcusti
Client#07 func#076-GETSEG seq# 2948 cnt# 795 on:Thu Jun 22
07:23:38 2000 vcusti
Client#07 func#017-CLRFIL seq# 2950 cnt# 265 on:Thu Jun 22
07:23:38 2000 vcusti
Client#07 func#010-STPUSR seq# 2952 cnt# 271 on:Thu Jun 22
07:23:38 2000 vcusti
Client#07 func#196-OPNRFIL seq# 2933 cnt# 273 on:Thu Jun 22
07:23:38 2000 vcusti
---------
Client#10 func#196-OPNRFIL seq# 2372 cnt# 273 on:Thu Jun 22
07:23:34 2000 vcusti
Client#10 func#077-GETMAP seq# 2373 cnt# 265 on:Thu Jun 22
07:23:34 2000 vcusti
Client#10 func#050-GETALTSEQ seq# 2374 cnt# 795 on:Thu Jun 22
07:23:34 2000 vcusti
Client#10 func#076-GETSEG seq# 2375 cnt# 795 on:Thu Jun 22
07:23:34 2000 vcusti
Client#10 func#050-GETALTSEQ seq# 2376 cnt# 795 on:Thu Jun 22
07:23:34 2000 vcusti
Client#10 func#076-GETSEG seq# 2377 cnt# 795 on:Thu Jun 22
07:23:34 2000 vcusti
Client#10 func#050-GETALTSEQ seq# 2378 cnt# 795 on:Thu Jun 22
07:23:34 2000 vcusti
Client#10 func#076-GETSEG seq# 2379 cnt# 795 on:Thu Jun 22
07:23:34 2000 vcusti
Client#10 func#017-CLRFIL seq# 2380 cnt# 265 on:Thu Jun 22
07:23:34 2000 vcusti
Client#10 func#010-STPUSR seq# 2381 cnt# 271 on:Thu Jun 22
07:23:34 2000 vcusti
---------
== END USER FUNCTION RECAP ==
=================================
=================================
== START GLOBAL FUNCTION RECAP ==
Function#001-PUTFIL was called (0) times.
Function#002-UPDCURI was called (0) times.
Function#003-DELFIL was called (0) times.
Function#004-LKISAM was called (0) times.
Function#005-DELREC was called (0) times.
Function#006-ALCSET was called (0) times.
Function#007-CHGSET was called (0) times.
Function#008-DELVREC was called (0) times.
Function#009-CLISAM was called (0) times.
Function#010-STPUSR was called (271) times.
...
Function#017-CLRFIL was called (265) times.
...
Function#050-GETALTSEQ was called (795) times.
Function#051-SETDEFBLK was called (2) times.
Function#052-MIDSET was called (0) times.
...
Function#076-GETSEG was called (795) times.
Function#077-GETMAP was called (265) times.
Function#078-SECURITY was called (0) times.
...
Function#111-INTISAM was called (272) times.
...
Function#196-OPNRFIL was called (273) times.
Function#197-TMPNAME was called (0) times.
...
Function#229-SESSVAL was called (0) times.
Function#230-SESSINC was called (0) times.
== END GLOBAL FUNCTION RECAP ==
=================================