The unified trace is used to troubleshoot problems with the System Coordinator or with Adabas products that work closely with it. Normally it is only used under guidance from Software AG Customer Support. However, as you will see by reading on, you might find it useful when troubleshooting your own systems too.
The default is that it is inactive.
The unified trace can be activated in the client, daemon, or database based upon the settings that you make.
The client unified trace settings are defined in client runtime controls. They can be configured statically (through the Maintenance function of SYSCOR) or dynamically (through the Current Activity Display function of SYSCOR). For random problems experienced by your commercial users it may be necessary to configure the settings statically (subject to the Trace size warning – see below), however in some cases it is possible to reproduce the problem in controlled circumstances. In this case you can configure the settings dynamically for the specific client session(s).
To configure the required trace settings, modify your selected client controls in SYSCOR (either statically or dynamically); press PF9 then select option 3 (unified trace settings) which presents the following screen:
16:42:40 ***** A D A B A S SYSTEM COORDINATOR 8.3.1 (I001) ***** 2012-08-23 - Unified Trace Settings - U1SCTRM1 Trace collection settings Trace collection (Y/N)...............: N Local trace memory (k)...............: 0___ 0=none,minimum=32,maximum=1024 Trace recording settings Write a copy to local trace file....: _ Mark for local trace file Forward to the daemon trace file....: _ Mark for daemon trace file Synchronous writes..................: _ Mark to limit to synchronous Single writes activation point......: _____ No buffering after n commands Flush for significant session events: _ Mark to flush on CL (etc) Dynamic options Limited debug trace: Response code trace activation.....: 0__ Sub-code...........................: 0____ Generic error response codes (Y/N).: N Debug event activation (Y/N).......: N Command ==> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Exit Upd |
Trace data will be collected only when this parameter is set to Y and a local trace memory size has been specified. Once started, data is collected into the trace buffer and, when full, will wraparound overwriting the oldest content and maintaining the newest content. The period of time for which trace data remains in memory is therefore dependent on the size of the trace buffer. The content of the trace buffer can be displayed through SYSCOR Current Activity Display and for information on how to do this refer to Expand Adabas client sessions.
This specifies the amount of memory (in k) to be used for the unified trace buffer and is allocated at the individual session level.
Warning: When statically defining the trace size for a job’s runtime controls through the SYSCOR Maintenance function, due consideration must be given to the trace size as it may have a significant impact on the job’s memory consumption. Such consideration is far less significant for a trace size specified dynamically to an individual session through the SYSCOR Current Activity Display function. |
In addition to collecting and displaying the most recent trace activity, additional options are available for managing the data within the trace buffer:
Note:
This option is only selectable for job types Batch, TSO, and
TIAM.
You can optionally choose to flush collected trace data to a local sequential file (COTRC). This file must be defined to the job’s execution control script. If using COTRC you must add the Adabas load library to the job’s loading environment.
Note:
This option is only selectable for jobs that have been defined to
use the COR daemon.
You can choose to flush collected trace data to a daemon trace file. Refer to The Daemon Unified Trace for information on how to implement a daemon trace file.
Note:
This option is only applicable if "Write a copy to local trace
file" or "Forward to the daemon trace file" has been
selected.
By default, the flushing of collected trace data is done asynchronously. Select this option if you prefer this to be done synchronously.
Note:
This option is only applicable if "Write a copy to local trace
file" or "Forward to the daemon trace file" has been
selected.
When a session’s activity reaches the number of commands specified here, the current trace content will be flushed out and thereafter trace entries will be written one at a time as each one is completed. No buffering will occur.
Note:
This option is only applicable if "Write a copy to local trace
file" or "Forward to the daemon trace file" has been
selected.
Selecting this option will cause additional flushing of the collected trace data at predefined events (for example at CL command time).
By far the most common event that needs to be traced is an unexpected Adabas response code. You can choose to stop further trace collection following one of these events:
a specific response code without a subcode
a specific response code with a specific subcode
a generic response code (this control relates to all response codes except those which do not indicate an error of significance. For example, response codes 0, 3, 9 and 148, a full list can be found in the help screens).
Once collection has stopped, the trace buffer in memory remains displayable for as long as the session remains active. If you selected one of the options to additionally write to disk then the current trace buffer is also written out to disk for more permanent analysis.
The daemon unified trace settings are defined in daemon parameters. In SYSCOR, list the daemons in your daemon group then modify the appropriate daemon which presents the following screen:
15:21:11 ***** A D A B A S SYSTEM COORDINATOR 8.3.1 (I001) ***** 2012-08-24 - Adabas System Coordinator Daemon Parameters - C11261M1 Run-mode: Pulsing (node 2650) Group: WORKSHOP Daemon: ICFDCOR5 SVC: 254 Node: 2650 System: Multi Recovery Continuous Operation (Y/N).......: N Daemon latency/pulse services Shared memory area size (k)......: 10240___ Minimum (k): 0_______ Dataspace name (if used)..: ________ Daemon memory area size (k)......: 10240___ Minimum (k): 0_______ Unified trace settings Trace collection (Y/N)...........: N Local trace memory (k)...........: 0___ (0=none minimum=32 maximum=1024) Use trace file (Y/N).............: N Wraparound trace file when full..: N Debug settings CORDUMP for transient situations.: N Number of outputs: 0____ Command ==> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Exit Upd Menu |
Warning: Daemon trace collection to the trace file quickly fills the file and can cause information forwarded by client jobs to be lost. This is why the default for the daemon trace is to be inactive, so that it can be used sparingly by activating it dynamically for short periods. |
Trace data will be collected only when this parameter is set to Y and a local trace memory size has been specified. Once started, data is collected into the trace buffer and (optionally, a trace file – see below). When the trace buffer is full, it wraps around overwriting the oldest content and maintaining the newest content. The period of time for which trace data remains in memory is therefore dependent on the size of the trace buffer. The trace can be activated (and de-activated), and its content displayed, through SYSCOR Current Activity Display and for information on how to do this refer to the section on tasks for Coordinator daemon nodes in Network Discovery. In addition to collecting and displaying the most recent trace activity, all trace data can be written to disk.
This specifies the amount of memory to be used for the unified trace and is allocated at the individual thread level. This size can also be changed through SYSCOR Current Activity Display and for information on how to do this refer to the section on tasks for Coordinator daemon nodes in Network Discovery.
You can choose to write collected trace data to a local BDAM file (COTRC). This file must be defined to the daemon’s execution control script. This option can also be changed through SYSCOR Current Activity Display and for information on how to do this refer to the section on tasks for Coordinator daemon nodes in Network Discovery.
When this option is selected, the following type of trace data is written to the file:
Daemon collected trace data (Local trace memory must be non-zero and the trace collection dynamically activated)
Client forwarded trace data (for more information refer to The Client Unified Trace).
When selected, this option will cause trace data to wraparound overwriting the oldest content and maintaining the newest content. This option can also be changed through SYSCOR Current Activity Display and for information on how to do this refer to the section on tasks for Coordinator daemon nodes in Network Discovery.
The database unified trace settings share the same configuration as the daemon unified trace settings which are defined in daemon parameters. In SYSCOR, list the daemons in your daemon group then modify the appropriate daemon which presents the following screen:
15:21:11 ***** A D A B A S SYSTEM COORDINATOR 8.3.1 (I001) ***** 2012-08-24 - Adabas System Coordinator Daemon Parameters - C11261M1 Run-mode: Pulsing (node 2650) Group: WORKSHOP Daemon: ICFDCOR5 SVC: 254 Node: 2650 System: Multi Recovery Continuous Operation (Y/N).......: N Daemon latency/pulse services Shared memory area size (k)......: 10240___ Minimum (k): 0_______ Dataspace name (if used)..: ________ Daemon memory area size (k)......: 10240___ Minimum (k): 0_______ Unified trace settings Trace collection (Y/N)...........: N Local trace memory (k)...........: 0___ (0=none minimum=32 maximum=1024) Use trace file (Y/N).............: N Wraparound trace file when full..: N Debug settings CORDUMP for transient situations.: N Number of outputs: 0____ Command ==> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Exit Upd Menu |
The shared configuration is described here:
Trace data will be collected only when this parameter is set to Y and a local trace memory size has been specified. Once started, data is collected into the trace buffer and (optionally, a trace file – see below). When the trace buffer is full, it wraps around overwriting the oldest content and maintaining the newest content. The period of time for which trace data remains in memory is therefore dependent on the size of the trace buffer. The trace can be activated (and de-activated), and its content displayed, through SYSCOR Current Activity Display and for information on how to do this refer to the section on tasks for Adabas nodes in Network Discovery. In addition to collecting and displaying the most recent trace activity, all trace data can be written to disk.
This specifies the amount of memory to be used for the unified trace and is allocated at the individual thread level. This size can also be changed through SYSCOR Current Activity Display and for information on how to do this refer to the section on tasks for Adabas nodes in Network Discovery.
You can choose to write collected trace data to a local BDAM file (COTRC). This file must be defined to the database’s execution control script. This option can also be changed through SYSCOR Current Activity Display and for information on how to do this refer to the section on tasks for Adabas nodes in Network Discovery.
When selected, this option will cause trace data to wraparound overwriting the oldest content and maintaining the newest content. This option can also be changed through SYSCOR Current Activity Display and for information on how to do this refer to the section on tasks for Adabas nodes in Network Discovery.