Using the Unified Trace

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

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 collection

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.

Local trace memory

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:

Write a copy to local trace file

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.

Forward to the daemon trace file

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.

Synchronous writes

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.

Single writes activation point

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.

Flush for significant session events

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).

Dynamic options

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

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 collection

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.

Local trace memory

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.

Use trace file

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).

Wraparound trace file when full

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

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 collection

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.

Local trace memory

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.

Use trace file

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.

Wraparound trace file when full

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.