Trace Options

This section enables you to specify the tracing options that you can enable on the application server to track the Structured Query Language (SQL) and PeopleCode of the domains. You can also set all of the trace parameters from the PeopleSoft sign-in page. Just beneath the Sign In button, click the link that opens the trace flags page. This enables you to set the trace options and then sign in to the system.

Note: With many of the following trace options, you need to view the comments in the PSAPPSRV.CFG file to understand what to enter to return the trace information you require.

Enter the logging level for SQL tracing for all clients. Traces are written to PS_CFG_HOME/appserv/domain/LOGS/domain_user_IDservername.tracesql.

Enter 0 to disable tracing; enter 7 to enable a modest tracing level for debugging. For other levels of tracing, set this option to a value that equals the sum of the needed options. For example, to trace only SQL, enter 1; to trace SQL statements and connect statements enter 7 (1+ 2 + 4 = 7). A setting of 7 is recommended for troubleshooting connection and other basic problems. Tracing can consume large amounts of disk space over time, so be sure to reset this option to 0 when you finish troubleshooting.

Important! The trace file stores elapsed times for SQL events to a precision of one microsecond (six decimal places). However, due to limitations of the operating system, Windows precision is actually in milliseconds (three decimal places), so the last three digits in a Windows trace will always be zero. Elapsed times in UNIX are accurate to one microsecond.

Enter the logging level ceiling for SQL tracing for individual clients. Traces are written to PS_CFG_HOME/appserv/domain/LOGS/client_user_IDservername.tracesql.

For Windows clients, you specify the necessary SQL tracing level by using the PeopleSoft Configuration Manager on the Trace tab. To prevent clients from turning on the application server trace and consuming resources, the application server uses TraceSQLMask as an administrative control facility.

If a client transmits a request to trace SQL, the application server compares the value that is transmitted to the TraceSQLMask value. If the client value is less than or equal to the TraceSQLMask value, the application server enables the trace. However, if the client value is greater, the application server enables the trace up to the TraceSQLMask value. Trace files are written on the application server; no trace shows up on the client workstation.

Enter a level for PeopleCode tracing for activity that is generated by all clients on a domain. Eligible values are defined in the configuration file. TracePC values are displayed in the PeopleSoft Configuration Manager on the Trace tab. You can find the results in PS_CFG_HOME/appserv/domain/LOGS/domain.log.

Important! The trace file stores elapsed times for PeopleCode events to a precision of one microsecond (six decimal places). However, due to limitations of the operating system, Windows precision is actually in milliseconds (three decimal places), so the last three digits in a Windows trace will always be zero. Elapsed times in UNIX are accurate to one microsecond.

Enter which PeopleCode trace options that are requested by client machines will be written to the trace file. You can find the results in PS_CFG_HOME/appserv/domain/LOGS/client_machine.domain.log.

Use these options to trace the activity in the page processor. Typically, these options are used internally only by PeopleSoft developers; however, you may need to view the results of this trace when troubleshooting.

Tracing-related display processing is useful for seeing when and if related displays are being updated and if they are updating successfully. Some sample output in the log file from setting this flag includes:

Starting Related Display processing
Related Display processing - PPR_RELDSPLVALID not set
Related Display processing - All Rows
  Starting Related Display processing for - PSACLMENU_VW2.MENUNAME
  Related Display processing for - PSACLMENU_VW2.MENUNAME - completed successfully
Finished Related Display processing

By using the keylist generation tracing in addition to the related display tracing, you can determine why the related displays have the wrong value. It shows where the keys are coming from. The following is a sample of keylist generation tracing:

 Starting Keylist generation
       Keylist generation - FIELDVALUE is a key
       FIELDVALUE is low key
       Low key value was supplied = 
       Key FIELDVALUE = 
       Keylist generation - FIELDNAME is a key
       Keylist generation - Finding value for USRXLATTABLE_VW.FIELDNAME
         Not Found in key buffer
           Seaching for field FIELDNAME in component buffers
           Scanning level 1
             Scanning record DERIVED_USROPTN for field FIELDNAME
             Field FIELDNAME found in record DERIVED_USROPTN
         Found in component buffers, value = PT_TIME_FORMAT
       Key FIELDNAME = PT_TIME_FORMAT
       Keylist generation - USEROPTN is a key
       Keylist generation - Finding value for USRXLATTABLE_VW.USEROPTN
         Not Found in key buffer
           Seaching for field USEROPTN in component buffers
           Scanning level 1
             Scanning record DERIVED_USROPTN for field USEROPTN
             Scanning record PSUSROPTLIST_VW for field USEROPTN
             Field USEROPTN found in record PSUSROPTLIST_VW
         Found in component buffers, value = TFRMT
       Key USEROPTN = TFRMT
     Keylist Generation complete
     FIELDNAME = PT_TIME_FORMAT
     FIELDVALUE = 
     USEROPTN = TFRMT

In this example, you can see how the system builds the keylist by first searching in the current record (key buffer), then searching the buffers in the current level, and then searching up a level, and so on. It also indicates exactly what record the key value is taken from. This is useful on complex components where there are often several instances of a particular field; a common problem is that the value is derived from an unexpected location.

Combining the keylist tracing and the related display tracing provides a good view of the system behavior. For example:

Starting Related Display processing
Related Display processing - All Rows
  Starting Related Display processing for - PSACLMENU_VW2.MENUNAME
    Starting Keylist generation
      Keylist generation - MENUNAME is a key
      MENUNAME is low key
      Low key value was supplied = APPLICATION_ENGINE
      Key MENUNAME = APPLICATION_ENGINE
    Keylist Generation complete
     MENUNAME = APPLICATION_ENGINE
  Related Display processing for - PSACLMENU_VW2.MENUNAME - completed successfully

Each related display goes through the keylist generation process, and you can see exactly what key values are used to populate the related displays and where those key values came from.

The work record flag is a performance feature. If every field in a level-0 record has a value from the keylist and is display-only, then it is marked as a work record because the values can't be changed. After it is marked as a work record, that affects how the record behaves. For example, PeopleCode for fields in the record but not in the component don't run, data isn't saved, and so on. By enabling this tracing option, you can see which records are flagged as work records. The output looks like this:

   Work flag cleared for record PSCLASSDEFN_SRC
   Work flag cleared for record PSCLASSDEFN_SRC
   Work flag cleared for record PSCLASSDEFN
   Work flag cleared for record PSPRCSPRFL
   Work flag cleared for record SCRTY_QUERY
   Work flag set for record PSCLASSDEFN
   Work flag set for record PSPRCSPRFL
   Work flag set for record SCRTY_QUERY

Because the flag is turned on and off at various points, the last setting (set or cleared) is the most important. In the previous trace, PSCLASSDEFN, which is marked as a work record, is cleared and then set again.

Use these options for tracing PeopleSoft page (PIA page) generation.

Use this parameter to activate specific Application Engine traces for tracing Application Engine programs.

The bits enable logging for analytic servers beyond the standard LogFence setting.

The Performance Monitor agent is a thread that reports performance metrics for each instrumented server if monitoring is enabled for the database. Select 1 to enable and 0 to disable.

See Performance Monitor.

This parameter determines whether or not a memory image of the failing process is created when a crash occurs. By default, the value is 'NONE' which means that a memory image will not be written during a crash. This value can be set to 'MINI' or 'FULL'. MINI means that a shorter memory image is written. This may be a better option if you are leaving this option turned on permanently. FULL may be appropriate when you are debugging a known issue. Typically, this option is used internally only by PeopleTools.

This parameter assists PeopleSoft in debugging any crash problems at your site by providing insight into the customized object definitions to reproduce the crash on another database.

If you enter y (enabled) and runtime errors are detected (nonfatal error conditions), the system writes a message and information regarding the runtime error to the current log file. If you assign the MailErrorReport parameter an email address, an individual, such as a system administrator, can be alerted whenever the system writes an error to the log. If MailErrorReport is enabled but LogErrorReport is set to n, the system still sends a message for application server crashes, which always cause data to be written to the log. The following is an example of setting this parameter to send notifications to an email address: MailErrorReport=user.name@example.com.

For descriptions of these parameters, see Trace Section.